問題タブ [django-rest-auth]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 登録時にdjango-rest-framework-jwtがトークンを返すようにするにはどうすればよいですか?
私は基本的なジャンゴレストサービスを持っています。
- 人を登録し、
- パスワードを更新します。
その上にjwt認証を追加したい。チュートリアルに従う場合、プロジェクトの urls.py に「api-token-auth」という名前の新しい URL を追加する必要があります。しかし、私はこの新しい URL を追加したくなく、登録呼び出しで応答としてトークンを送信したいと考えています。
これが私のコードです:
serializers.py
ビュー.py
- これを達成するために何をすべきですか?シリアライザーの create メソッド内で api-auth-token を呼び出す必要がありますか?
- django-rest-framework-jwt はどのように複数の認証トークンを処理し、どのトークンがどのユーザーに属しているかを正しく識別しますか? 特にトークンをデータベースに保存しない場合。
- この認証メカニズムを使用して、自分のユーザーのみを表示/更新/削除するように制限するにはどうすればよいですか?
- この認証メカニズムを使用して、一般的なことを行うにはどうすればよいですか。たとえば、ユーザーが自分の名前を /tmp/abcd.txt に書きたいとします。認証されたユーザーだけがそうできるようにするにはどうすればよいですか?
- このアプローチに潜在的な抜け穴はありますか。アプリが大量の機密データを保存する場合、同じコードを使用する必要がありますか?
django - ソーシャル アカウント ユーザーのローカル ユーザー トークンを取得する
django-oauth-toolkit を使用して、独自の oauth2 プロバイダーとして機能しています。すべての認証に allauth を使用します。その上に rest-auth があり、両方に REST インターフェイスを提供します。
私のユーザーには、別のソーシャル アカウント プロバイダー (Facebook など) を介してログイン/登録するオプションがあります。
/rest-auth/facebook/ Facebook の認証トークンnを含む POST経由でユーザーを登録します(例にとどまります)。
その見返りに、必要な oauth2 トークンではないトークンを取得します。oauth2 トークンを取得するにはどうすればよいですか?
python - カスタム UserModel の django.db.utils.IntegrityError
カスタム ユーザー モデル:
を実行する./manage.py migrate
と、次のエラーが表示されます。
SHOW ENGINE INNODB STATUS
mysqlショーで:
そのため、データベース全体を削除して再作成しましたが、それでも同じエラーが発生します。
settings.py
ファイル:
django - Django は私のトークンを認識しませんか?
バックエンドで Django Rest Framework を使用し、フロントエンドで ember-cli アプリを使用しています。認証は正しく機能していますが、承認のどこかに穴があるようです。
このエンドポイント/v1/me/
にリクエストを送信すると、403 が返されます。許可クラスを外すと、自分が{"id":null,"username":"","is_active":false}
誰であるかがわからないため、返されます。
また、ブラウズ可能な API を使用すると、/v1/me
URL は正しく機能します。
Ember側では、自分のアカウントでログインし、トークンを正しく取り戻しました. リクエストでAuthorization: Token asdf1234asdf1234asdf1234
は、 が渡されています。Django がそのトークンを受け取り、私が誰であるかを知っていると思いますか? 何か不足していますか?
python - 複数の認証アプリのサポート
Django プロジェクトを開発する場合、次のような多くのサード パーティ認証パッケージを利用できます。
Django OAuth Toolkit
、OAuth 2.0 のサポート。Djoser
は、登録、ログイン、ログアウト、パスワードのリセット、アカウントの有効化などの基本的なアクションを処理するための一連のビューを提供します。
現在、基本的なアクションの登録、ログインなどをサポートしたいだけです。だからDjoser
私の最良の選択かもしれません。
しかし、後で OAuth 2.0 をサポートしたい場合は、2 つのトークンが必要になります。1 つは からDjoser
、もう1 つは からのものDjango OAuth Toolkit
です。ここで混乱しました.2つのトークンを同時に処理するにはどうすればよいですか?
または、登録などの基本的なアクションDjoser
をDjango OAuth Toolkit
サポートする方法を教えてください。
django - Django RESTフレームワークAPIClientはシェルで認証しますが、単体テストでは認証しません
こちらの例を使用して、REST API ビューセットの単体テストを試みています。manage.py シェルでコードを 1 行ずつ実行すると、問題なく認証でき、200 応答コードを取得できます。単体テストの場合、認証に失敗します!
クラスは次のとおりです。
アサーションを次のように変更すると:
これも失敗しますが、シェルで同じコマンドを実行すると True が返されます。
django - Django + DRF: 403 FORBIDDEN: CSRF トークンが見つからないか正しくない
Django + DRF バックエンドで認証を試みる Android クライアント アプリがあります。ただし、ログインしようとすると、次の応答が返されます。
リクエストはhttp://localhost/rest-auth/google/
、次の本文とともに に送信されます。
何が原因でしょうか? 認証するための POST がクライアントとサーバー間で最初に発生するため、クライアントには CSRF トークンがありません。同じ問題で過去の質問をたくさん調べましたが、解決策が見つかりませんでした。
Django 側の関連設定は次のとおりです。