UserInfo 엔드포인트 - Amazon Cognito

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

UserInfo 엔드포인트

userInfo 엔드포인트는 OpenID Connect(OIDC) userInfo 엔드포인트입니다. 이 엔드포인트는 서비스 공급자가 Token 엔드포인트에서 발급한 액세스 토큰을 제시하면 사용자 속성을 이용해 응답합니다. 사용자 액세스 토큰의 범위는 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) 사양의 UserInfoEndpoint(엔드포인트)를 참조하세요.

헤더의 요청 파라미터

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

액세스 토큰이 만료, 취소, 형식이 잘못되었거나 유효하지 않습니다.