[解決済み] OAuth 2.0のBearer Tokenとは具体的に何ですか?
質問事項
によると RFC6750 -The OAuth 2.0 Authorization Framework: Bearer Token Usageでは、ベアラートークンは。
トークンを所有する当事者(ベアラ)は、トークンを所有する他の当事者と同様に、トークンを使用することができるという特性を持つセキュリティ・トークンです。
この定義は曖昧で、仕様も見当たりません。
- 認可プロバイダを実装する場合、ベアラートークンに任意の文字列を指定できますか?
- ランダムな文字列でもよいですか?
-
一部の属性のBase64エンコーディングでなければならないのでしょうか?
ハッシュ化する必要がありますか? - また、このトークンを検証するために、サービスプロバイダは認可プロバイダに問い合わせる必要がありますか?
ご指摘ありがとうございました。
どのように解決するのですか?
<ブロッククオート
ベアラートークン
セキュリティ・トークンのこと。
トークン(無記名者)は、他の人と同じようにトークンを使用することができます。
を所有することができる。 無記名式トークンの使用は
暗号鍵材料の所有を証明する必要があります。
(proof-of-possession) と呼ばれる。
ベアラ・トークンは、認証サーバーがあなたのために作成します。ユーザがあなたのアプリケーション(クライアント)を認証すると、認証サーバはあなたのためにトークンを生成します。 Bearer Token は OAuth 2.0 で使用されるアクセストークンの主要なタイプです。 ベアラートークンは、基本的に「このトークンの持ち主にアクセスを許可する」ことを意味します。
Bearer Tokenは通常、認証サーバによって作成されるある種の不透明な値です。これはランダムではなく、アクセスを許可したユーザーと、アプリケーションがアクセスを取得したクライアントに基づいて作成されます。
例えばAPIにアクセスするためには、アクセストークンを使用する必要があります。アクセストークンは短命です(1時間程度)。新しいアクセストークンを取得するには、ベアラートークンを使用します。アクセストークンを取得するには、このベアラートークンとクライアント ID を認証サーバーに送信します。こうすることで、サーバーは、ベアラートークンを使用しているアプリケーションが、ベアラートークンが作成されたのと同じアプリケーションであることを認識できます。例 例: あなたのアプリケーション用に作成されたベアラ トークンを、私のアプリケーションで使用することはできません。
Google Refresh トークンはこのようなものです。 1/mZ1edKKACtPAb7zGlwSzvs72PvhAbGmB8K1ZrGxpcNM
コメントからコピーしました。供給するベアラートークンには特に制限はないと思います。唯一考えられるのは、複数を許可するのが良いということです。例えば、ユーザーはアプリケーションを30回まで認証することができ、古いベアラートークンはまだ機能します。トークンの生成と検証を行うのは認証サーバーなので、トークンをどのようにフォーマットするかはあなた次第です。
更新してください。
Bearer Tokenは、すべてのInline Action HTTP RequestのAuthorizationヘッダーに設定されます。例えば
POST /rsvp?eventId=123 HTTP/1.1
Host: events-organizer.com
Authorization: Bearer AbCdEf123456
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/1.0 (KHTML, like Gecko; Gmail Actions)
rsvpStatus=YES
文字列
"AbCdEf123456"
の例では、ベアラ認証トークンです。これは、認証サーバーが生成する暗号化トークンです。アクションとともに送信されるすべてのベアラ・トークンは、issueフィールドを持ち、audienceフィールドには、送信者ドメインをhttps:// という形式のURLで指定します。たとえば、メールが[email protected] からのものである場合、オーディエンスは次のようになります。
https://example.com
.
ベアラートークンを使用する場合、リクエストが認証サーバーから来たものであり、送信者ドメイン向けであることを確認します。トークンが検証されない場合、サービスはHTTPレスポンスコード401(Unauthorized)でリクエストに応答する必要があります。
Bearer TokensはOAuth V2規格の一部であり、多くのAPIで広く採用されています。
関連
-
[解決済み] JWTとBearer Tokenの違いは何ですか?
-
[解決済み] OpenIDとOAuthの違いは何ですか?
-
[解決済み】OAuth2.メリットとユースケース - なぜ?
-
[解決済み】OAuth 2の暗黙のグラント承認タイプの目的は何ですか?
-
[解決済み】OAuth 2.0 Bearer Tokenとは、具体的にどのようなものですか?
-
[解決済み】アクセストークンが失効するのはなぜですか?
-
[解決済み】OAuth: ローカルのURLでテストする方法は?
-
[解決済み] OAuth Authorization CodeとImplicitワークフローの違いは何ですか?それぞれを使用するタイミングは?
-
[解決済み] OAuthでREST APIを保護しつつ、サードパーティのOAuthプロバイダによる認証を許可する(DotNetOpenAuthを使用する)
-
[解決済み] JWT (Json Web Token) Audience "aud" vs Client_Id - 違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] OAuth 2.0のBearer Tokenとは具体的に何ですか?
-
[解決済み】OAuth2.メリットとユースケース - なぜ?
-
[解決済み】OAuth 2の暗黙のグラント承認タイプの目的は何ですか?
-
[解決済み】OAuth 2.0 Bearer Tokenとは、具体的にどのようなものですか?
-
[解決済み】アクセストークンが失効するのはなぜですか?
-
[解決済み】OAuth: ローカルのURLでテストする方法は?
-
[解決済み] OAuth Authorization CodeとImplicitワークフローの違いは何ですか?それぞれを使用するタイミングは?
-
[解決済み] リソースサーバーのOAuth 2.0アクセストークンを検証する方法とは?
-
[解決済み] OAuthでREST APIを保護しつつ、サードパーティのOAuthプロバイダによる認証を許可する(DotNetOpenAuthを使用する)
-
[解決済み] JWT (Json Web Token) Audience "aud" vs Client_Id - 違いは何ですか?