問題タブ [django-rest-framework-simplejwt]
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.
django-rest-framework - あるユーザーによるログインと別のユーザーのアクセストークン
トークンベースの認証用に simpleJWT を実装しました。簡単な Hello World テスト API を作成しました。
テスト中、私は /rest-auth/login/ でログを記録しており、生成には /api/token/ を使用しています - どちらも正常に動作しています。
テストのために、たとえばユーザー XYZ (helloworld api のアクセス権がある) でログインし、別のユーザー ABC (helloworld api のアクセス権がない) を使用してトークンを生成しています。
これで、ユーザー XYZ は認証されました (ok) が、ユーザー ABC (ok) のトークンを取得しています。
これで、ABC を使用するために生成されたトークンを使用して API を呼び出すと、ユーザー ABC が API に対する権限を持っていなくても、helloworld api にアクセスできます!! 権限を持つユーザー XYZ がすでにログインしているためです。
問題は、複数のユーザーがサイトを使用する場合に常にこれが当てはまることです。解決方法は? 以下にいくつかのコード スニペットも示します。
私のsettings.pyが切り取られました
コードは基本的にユーザーを認証するデコレーターは以下のとおりです
この場合、私の戦略は何ですか?
編集 デコレータを次のように変更しましたが、機能しています。私が何か間違ったことをしているなら、誰かがコメントしてください
django - simplejwt トークンをデータベースに保存する方法
ユーザー登録にはdjango-rest-framework-simplejwtを使用しています。
このチュートリアルに従って、ここにリンクの説明を入力してください
私は次のようにコーディングします:
ビューで:
問題は、ユーザーを作成するたびに、2 つの 2 つのトークンを返すことができますが、データベースでトークンが見つからないことです。
だから私はそれらを保存しなかったと思うので、トークンを保存する必要がありますか?
reactjs - Jwtトークンの有効期限を確認して反応するdrf
質問する場所を間違えていたらすみません。APIにDjango drfを使用し、アプリで反応からフロントを提供しています。認証に simplejwt を使用しています。アクセスの有効期限を確認し、反応からトークンを更新して、有効期限が切れたときにアクセストークンを生成したいと考えています。より良い方法は何ですか?