3

クライアント環境がモバイル デバイスである DRF と Angular を使用しています。

django-rest-authパッケージを見つけました 。

これは、モバイル クライアントに適した TokenAuthentication 機能を提供するため、迷わず選択できます。

ログイン要求を送信すると、クライアントはトークンを受け取ります。

ここに画像の説明を入力 次に、リクエスト成功のコールバックに以下を追加しました。

 login: function(username, password) {
        return $http.post('http://192.168.0.3:8000/rest-auth/login/', {
            'username':username,
            'password':password,
        }).success(function(data) {
            $http.defaults.headers.common.Authorization = 'Token ' + data.key;
            Account.authenticated = true;
            console.log("login success", data)
        })

サーバーのコンソールでは、受信リクエストに関する出力は次のとおりです。

'HTTP_AUTHORIZATION': 'Token 3fae470d169adb550e538c99a754fcfbe3485f75'

しかし、次のような予想外の結果が得られました。

request.user AnonymousUser
request.auth None

hereによると、トークンを使用してリクエストを送信すると、どの追加の認証が機能するかが自動的に処理されます。

完全な認証のために別のコードを追加する必要がありますか?

(例: django のセッション ストレージにトークンを登録します。)

あなたのアドバイスを聞きたいです。

4

1 に答える 1