問題タブ [refresh-token]
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.
jwt - トークンの更新、有効期間が非常に短いアクセス トークン、およびサーバーの負荷
私たちが構築している PHP ベースの API に JWT を実装するための調査を行ってきましたが、現時点で最も混乱しているのはリフレッシュ トークンです。私が収集したものから、最初の認証中にアクセストークンとリフレッシュトークンの両方を取得し、リフレッシュトークンを使用すると、基本的にこの最初の認証ステップをスキップして、必要に応じて新しい新しいアクセストークンを取得できるようになります. 私がこれを正しく理解していれば、生成されたリフレッシュ トークンは、それ自体を認証したばかりのクライアントとペアになったデータベースに格納する必要があります。アクセス トークンが非常に短い時間 (たとえば 1 分間) しか有効でない場合、API を使用する非常にビジーなクライアントは、更新ステップを実行するために毎分データ ストアにクエリを実行する可能性があることを意味しますか (更新が有効かどうかを確認するため)。トークンが存在する/まだ有効である/取り消されていない/など)?だろう
security - ブラウザーに oauth 更新トークンを保存できないのはなぜですか?
ブラウザに oauth リフレッシュ トークンを保存したい。そこに保存したい理由は、アプリがアクセストークンを更新して、ユーザーがセッションを中断せずに続行できるようにするためです。また、トークンを格納するためにサーバー上のあらゆる種類のキャッシュの必要性を排除し、ステートフルにしたいと考えています。
更新トークンをブラウザーに保存するのは安全ではないため、間違っていると言われました。
次の理由で問題ないと思います。
- トークンは httpOnly の安全なセッション Cookie に保存されるため、XSS や中間者攻撃に対して脆弱ではなく、ユーザーがセッションを閉じると破棄されます。
- サーバーへのすべての通信は HTTPS 経由で行われます
- 不審なアクティビティが検出された場合、更新トークンを無効にすることができます
- 最も重要なことは、サーバーだけが知っているクライアント シークレットを知らない限り、更新トークンを使用できないことです。
大丈夫だと思うのは間違っていますか?理由を説明してください!
authentication - ユーザー登録時の Symfony 3 JWT 認証
認証に JWT を使用する symfony の API に取り組んでいます。JWT には LexikJWTAuthenticationBundle を使用し、トークンの更新には JWTRefreshTokenBundle を使用します。私がしたいのは、トークンを介してユーザーを認証し、更新トークンを与えることです。セキュリティで私は持っています:
そして、私の登録アクションの中に私は持っています:
生成アクション メソッド内で、ユーザー エンティティからトークンを作成できますが、リフレッシュ トークンも作成できません。プロバイダーには FOSUserBundle を使用します。これは login_check コントローラーです。generateToken メソッドからそのコントローラにポスト リクエストを送信しようとしましたが、成功しませんでした。どんな助けでも大歓迎です。
firebase - HTTP REST API 経由で Firebase データベースにアクセスするにはどうすればよいですか?
この回答のおかげで、HTTP REST API とメール/パスワードを介して Firebase 3 に接続できます。この API でログインすると、Firebase データベースへのアクセスに使用されるアクセス トークンが返されます。このアクセス トークンは 1 時間後に期限切れになります。ログイン後に更新トークンも返されます。これを使用して、アクセス トークンを更新できます。これが私が具体的にしていることです:
方法:
URL:
ペイロード:
応答:
アクセス トークンを更新する場合:
URL:
ペイロード:
応答:
アクセストークンを持っている場合、HTTP REST API 経由でデータベースにアクセスするにはどうすればよいですか?
c# - IdentityServer4 更新トークンが Null です
私はすでにかなりの数日間、この問題について頭を悩ませてきました。トークン応答に更新トークンが含まれていない IdentityServer4 に問題があります。アクセストークンの取得に関して、私がすでに持っているコードは正常に機能しています-それは、私が理解できないように見えるリフレッシュトークンです。
project.json ファイルに、次のエントリを追加しました。
私の Startup.cs ファイルには次のものが含まれています。
お気付きかもしれませんが、私は Config.Clients、Config.Scope、および Config.Users を使用しています。これらのコード (Config.cs) は次のとおりです。
そして、トークンを取得するために、この IdentityController.cs を呼び出しています。
かなりの数の記事を読みましたが、更新トークンだけに焦点を当てている場所をどこで見つけることができませんでした. それらはすべて、アクセス トークンを返す基本的なコードだけに焦点を当てているようです。
誰かが私に欠けているものを教えてくれますか?おそらく正しい方向に私を示したり指摘したりできますか? どんな助けでも大歓迎です!
google-oauth - Google oauth: Power Query でトークンを更新する
oauth メソッドと power bi を使用して youtube/google アナリティクスに接続しようとしています。私は途中までやり遂げましたが、助けが必要です。これは私がいる場所です:
以下を使用して手動で認証トークンを取得します。
それを取得したら、クエリに入力すると、access_token と refresh_token の両方を取得できます。
ここで、ドキュメントを正しく理解していれば、access_token が 1 時間後に期限切れになると、取得した refresh_token を使用して、新しい access_token を自動的に作成できます。
Power Query でそれを行うことは可能ですか? 誰も試したことがありますか?
私はそれを行う方法について完全に無知であり、私は開発者ではないため、私のスキルは限られています:(
どんな助けでも大歓迎です!
api - Passport Password Grant トークンの更新
この質問に記載されている手順を実行します。
APIのルートからすべてが正常に機能し、新しいユーザーを登録したり、データを読み取ったりできます.
次に、このコマンドを AuthServiceProvider に追加します
Passport::tokensExpireIn(Carbon::now()->addMinute(2)); Passport::refreshTokensExpireIn(Carbon::now()->addDays(1));
URL {{url}}/oauth/tokenの郵便配達員にログインします
Body: application/x-www-form-urlencoded
{
grant_type : 'password'
client_id : {{ユーザーが登録されている電子メール}}
client_secret : {{モバイル アプリからクライアント シークレットを生成}}
username : {{email withユーザーが登録されている}}
password : {{ユーザーが入力したパスワード}}
scope : ''
}
応答は成功しました
{
"token_type": "Bearer"
"expires_in": 120
"access_token": {{access_token}}
"refresh_token": {{refresh_token}}
}
{{url}}/oauth/tokenに送信するトークンの有効期間を 1 日に更新しようとしています
ref => https://laravel.com/docs/5.3/passport#refreshing-tokens
郵便配達員で私は送ります
ヘッダー:
Authorization : Bearer {{the access_token}}
Body: application/x-www-form-urlencoded
{
client_secret : {{モバイル アプリからクライアント シークレットを生成する}}
grant_type : refresh_token
refresh_token : {{refresh_token}}
client_id : {{ユーザーが登録されている電子メール}}
スコープ: ''
}
予想される応答:
{
"access_token": {{new access_token}}
"token_type": 'Bearer'
"expires_in": 86400
"refresh_token": {{new access_token}}
}
しかし、それは期待どおりに機能しません。
{
"access_token": {{new access_token}}
"token_type": 'Bearer'
"expires_in": 120
"refresh_token": {{new access_token}}
}
azure - Azure にデプロイされた場合の ID サーバー 3 の更新トークンの問題
WebApp としてホストされている Azure に Thinktecture の Identity Server v3 のインスタンスがあります。一般に、期待どおりに動作しますが、 refresh_token 権限付与タイプでトークンID/接続/トークンエンドポイントを介してリフレッシュ トークンを使用しようとすると、いくつか問題が発生します。認証コード フローを使用するクライアントがあり、これはこのクライアントに関するリフレッシュ トークン オプションに関連する設定です。
これを扱ったことのある人にとっては、私がJWTトークンを使用していることは明らかであり、アクセストークンは1時間有効であり、その後はIdentity Serverに再度ログインする必要なく、リフレッシュトークンを使用して新しいアクセストークンとリフレッシュトークンを取得できます. 私の更新トークンは 15 日間 (1296000 秒) 有効でなければなりません。実際に起こることは、期待どおりに機能しないということです。なんらかの理由で、前の API から 1 時間半後に REST API (アイデンティティ サーバーの証明書利用者) を呼び出すことにすると、invalid_grant応答が返されます。
少しテストすることにし、アクセス トークンを 2 分で期限切れにし、リフレッシュ トークンを 10 分で期限切れにしました。それから、アクセス トークンの期限が切れてから 1、2、3 分後に呼び出しを試みました。期待どおりに動作していました。私は 1 時間のアクセス トークンでこの種のテストを行いたくないので、誰かが以前にそれを経験したことがあるかどうかをここで尋ねることにしました。