戸部Oが示唆したように、私は最初のlocalStorageにトークンを保存:
Future check_authentification() async {
String _headers_key = "Authorization";
String _headers_value = "Token "+window.localStorage["token"];
var response = await _client.get("http://127.0.0.1:8000/auth/user/", headers: {_headers_key: _headers_value});
user_data = _decoder.convert(response.body);
response_status = response.statusCode;
}
:
Future login(username, password) async {
String url = 'http://127.0.0.1:8000/auth/login/';
var response =
await _client.post(url, body: {'username': username, 'password': password});
Map mapped_response = _decoder.convert(response.body);
window.localStorage.addAll({"token": mapped_response["key"]});
}
をしかし、まだ、私は401の応答を受信していた私は、ユーザー情報を取得しようとしたとき、これは関数でしたdjango-rest-authがトークン認可のために適切に構成されていないため、私は認可を得ることができませんでした。解決策は、TokenAuthenticationをdjango設定のデフォルトの認証クラスに追加することでした。
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.BasicAuthentication',
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.TokenAuthentication',
)}
トークンをlocalStorageに保存することができます –
こんにちは、ヒントありがとうございます。それをlocalStorageに保存するのは非常に効率的でした。私が計画したようにトークンキーにアクセスできます。私はまだヘッダーに承認を設定することはできません。 {"Authorization": "Token" + token_key} –
これはサーバーが何を正確に予想しているかによって異なります。どのサーバーにアクセスしていますか? 「Angular Dartのドキュメントを見つけることができません」というのはAngularには関係なく、Angularの特別なサポートは必要ありません。 –