UserInfo エンドポイント - Amazon Cognito

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

UserInfo エンドポイント

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

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

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

GET /oauth2/userInfo

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

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

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

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

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