2017-11-20 9 views
0

나는이 범위로 (/oauth2/v2.0/authorize 사용) 푸른 광고와 승인을하고 있어요 : 응답에서Azure AD : 액세스 토큰과 함께받은 id_token의 유효성을 검사해야합니까?

openid email profile https://graph.microsoft.com/user.read 

는, 나는 id_token 및 인증 코드를 얻을. 이 id_token을 무시하고 인증 코드를 사용하여 액세스 토큰을 얻습니다 (/oauth2/v2.0/token 사용)

액세스 토큰을 얻으면 다시 그와 함께 id_token을 얻습니다.

Microsoft docs 상태 :

앱의 ID 토큰을 수신

, 그것의 타당성을 증명하기 위해 토큰의 신뢰성을 증명 토큰에 몇 가지 주장을 검증하기 위해 서명의 유효성을 검사해야합니다.

그러나 내 앱이 Microsoft 서버에 대한 자체 HTTPS 게시물을 기반으로 ID 토큰을 받았기 때문에 ID 토큰을 유효성을 검사하지 않고도 사용할 수 있습니까? 당신이 기술 한 내용에 따르면

답변

0

,

  1. 하기는 오픈 ID 연결
  2. 당신은 사용을 사용하는 hybrid flow 당신이 인증에서 ID 토큰을 기대하지 않는 경우

(response_type=code id_token 포함) 요청하면 다른 기기도 사용할 수 있습니다. Authorization code flow 또는 Implicit flow

Thes e 흐름 유형은 response_type 매개 변수에서 선택되며 클레임에서 선택되지 않습니다. 암시 흐름 액세스 토큰을 생성하지 않는다는 인증 코드 플로우

암시 흐름

response_type=code

,

response_type=id_token token 또는 response_type=id_token

참고 f 또는 새로 고침 토큰을 보호 할 수없는 JavaScript 또는 유사한 클라이언트.

토큰 엔드 포인트 또는 권한 엔드 포인트 (암시 적 플로우를 기반으로 함)에서 ID 토큰을 얻으면이를 한 번만 유효성 검증 할 수 있습니다.

+0

안녕하세요, KcDoD, 네, 모두 들리 겠지만 내 흐름을 바꾸고 싶지는 않습니다. 두 번째 id_token (액세스 토큰과 함께받은)을 유효성을 검사하지 않고 사용하는 것이 안전한지 알고 싶습니다. –

+0

@ JeffO'Neill 클라이언트 인증에 사용하지 않는다면 무시해도 안전합니다. 그러나 두 가지 요청 (코드가 아닌 새로운 서비스는 버그가있을 수 있음)에서 정확히 동일한 ID 토큰을 가져와야합니다. 어쨌든, 의도적으로 하이브리드 흐름을 사용하지 않는다면 흐름을 변경하는 것이 좋습니다. 사용하지 않은 ID 토큰을받지 않아서 몇 바이트를 절약 할 수 있습니다. –