ユーザー属性エンドポイント - Amazon Cognito

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ユーザー属性エンドポイント

ここで、 はユーザー属性を含む ID トークンOIDCを発行し、2.0 OAuth は/oauth2/userInfoエンドポイントを実装します。認証されたユーザーまたはクライアントは、scopesクレームを含むアクセストークンを受け取ります。このクレームは、認証サーバーが返す属性を決定します。アプリケーションがuserInfoエンドポイントにアクセストークンを提示すると、認証サーバーは、アクセストークンスコープによって設定された境界内にあるユーザー属性を含むレスポンス本文を返します。アプリケーションは、少なくともopenidスコープクレームを持つ有効なアクセストークンを保持している限り、userInfoエンドポイントからユーザーに関する情報を取得できます。

userInfo エンドポイントは OpenID Connect (OIDC) userInfoエンドポイント です。サービスプロバイダーがトークンエンドポイントが発行したアクセストークンを提示すると、ユーザー属性で応答します。ユーザーのアクセストークンのスコープは、 userInfo エンドポイントがレスポンスで返すユーザー属性を定義します。openid スコープはアクセストークンクレームのいずれかである必要があります。

Amazon Cognito は、次のようなユーザープールAPIリクエストに応答してアクセストークンを発行します。 InitiateAuth。 スコープが含まれていないため、userInfo エンドポイントはこれらのアクセストークンを受け入れません。代わりに、トークンエンドポイントからアクセストークンを提示する必要があります。

2.0 サードパーティー ID OAuth プロバイダー (IdP) も をホストします。userInfo エンドポイント。ユーザーがその IdP で認証すると、Amazon Cognito は認証コードを IdP tokenエンドポイントとサイレント交換します。ユーザープールは IdP アクセストークンを渡して、IdP userInfoエンドポイントからのユーザー情報の取得を許可します。

GET /oauth2/userInfo

アプリは、ブラウザ経由ではなく、このエンドポイントに直接リクエストを送信します。

詳細については、「」を参照してくださいUserInfo OpenID Connect (OIDC) 仕様のエンドポイント

ヘッダーのリクエストパラメータ

Authorization: Bearer <access_token>

認証ヘッダーフィールドにアクセストークンを渡します。

必須。

例 – リクエスト

GET /oauth2/userInfo HTTP/1.1 Content-Type: application/x-amz-json-1.1 Authorization: Bearer eyJra12345EXAMPLE User-Agent: [User agent] Accept: */* Host: auth.example.com Accept-Encoding: gzip, deflate, br Connection: keep-alive

例 – 肯定的な対応

HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Content-Length: [Integer] Date: [Timestamp] x-amz-cognito-request-id: [UUID] X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 Strict-Transport-Security: max-age=31536000 ; includeSubDomains X-Frame-Options: DENY Server: Server Connection: keep-alive { "sub": "[UUID]", "email_verified": "true", "custom:mycustom1": "CustomValue", "phone_number_verified": "true", "phone_number": "+12065551212", "email": "bob@example.com", "username": "bob" }

OIDC クレームのリストについては、「標準クレーム」を参照してください。現在、Amazon Cognito は、email_verified と phone_number_verified の値を文字列として返します。

否定的な応答の例

例 – 不正なリクエスト

HTTP/1.1 400 Bad Request WWW-Authenticate: error="invalid_request", error_description="Bad OAuth2 request at UserInfo Endpoint"
invalid_request

リクエストに必要なパラメータがないか、サポートされていないパラメータ値が含まれているか、形式が正しくありません。

例 – 不正なトークン

HTTP/1.1 401 Unauthorized WWW-Authenticate: error="invalid_token", error_description="Access token is expired, disabled, or deleted, or the user has globally signed out."
invalid_token

アクセストークンの有効期限が切れているか、取り消されているか、形式が正しくないか、無効です。