2016-06-02 3 views
0

다음은 Google OAuth를 Azure 인증에 연결하는 단계입니다. 불행히도 이러한 지침은 완전한 솔루션을 제공하기가 매우 부족하며 Google OAuth access_token을 사용하면 어떻게 처리 할 수 ​​있는지에 대해 언급하지 않습니다. 나는 그것을 베어러 토큰 (Bearer <access_token>)으로 Authorization 헤더에 넣으려고했으나 인증 서비스 뒤에있는 내 애플리케이션이 예상 인증 헤더가 아니라 예상 된 X-MS-CLIENT-PRINCIPAL-NAME, X-MS-CLIENT-PRINCIPAL-ID, X-MS-TOKEN-GOOGLE-ACCESS-TOKEN 등을 보았 기 때문에 작동하지 않는 것으로 보입니다.Google OAuth 2 토큰을 Azure API 인증에 전달하는 방법은 무엇입니까?

또한 권한 부여 보유자 토큰을 사용하여 /.auth/me으로 이동하면 401 응답이 표시됩니다.

슬프게도 모든 문서가 내 문서에 적용되지 않는 것 (내 시나리오에는 적용되지 않는 것)이거나 서버 측 렌더링 응용 프로그램에만 해당되며 호출하는 API와 별도로 호스팅되는 SPA는 아닙니다. .

이상적인 대답은 Google OAuth 2 access_token으로해야 할 일이 Azure 인증 서비스에서 토큰을 인증하고 예상 헤더를 추가해야한다는 것입니다.

편집 : access_token은 문제의 일부일 수있는 JWT 토큰이 아닙니다. 이것이 실제로 문제가되고 JWT 토큰을 얻을 필요가 있다면 어떻게해야합니까? 현재 Google 클라이언트 API 자바 스크립트 (베타)를 사용하고 있습니다. Google OAuth 2 대시 보드를 통해 JWT 토큰을 얻으려고했으나 요청을 생성하기 위해 내 애플리케이션의 클라이언트 비밀번호를 사용 했음에도 불구하고이를 Bearer 토큰으로 설정하지 못했습니다.

답변

0

JSON 본문의 access_token은 'access_token'을 키로 사용하여 '/.auth/login/google'에 전달할 수 있습니다. https://azure.microsoft.com/en-us/blog/announcing-app-service-authentication-authorization/

발췌문 위의 링크에서 :

으로는 다음 링크에서 설명했다.

"또는, 클라이언트가 제공 SDK를 사용하여 토큰을 획득하고 세션 토큰을 교환 할 수 있습니다 간단하게 제출 "access_token"키 (또는 Microsoft Account의 경우 "authenticationToken")를 사용하여 JSON 본문에있는 공급자 토큰과 동일한 끝점에 대한 HTTP POST 플랫폼에서 공급자 SDK를 사용할 수있는 경우 모바일 응용 프로그램의 기본 솔루션이며 또한 많은 웹 및 API 응용 프로그램에서도 작동합니다. "

관련 문제