2014-10-31 3 views
0

내 Nodejs 응용 프로그램에서 Azure AD에 대한 인증을 위해 adal-node 패키지를 사용하고 있습니다. URL : https://www.npmjs.org/package/adal-nodeNodejs - ADAL 패키지 문제

토큰을 얻기 위해 acquireTokenWithAuthorizationCode 메서드를 사용하고 있는데 제대로 작동합니다. 인증 코드가 만료되면 다음을 사용하여 토큰을 새로 고침하고 싶습니다. authenticationContext.acquireTokenWithRefreshToken (_tokenData.refreshToken, authdata.clientId, authdata.resource, callback).

하지만이 코드를 실행하면 아래 오류가 발생합니다. "GET 토큰 요청은 HTTP 오류를 반환 : 400 서버 응답 : {"오류 ":"INVALID_REQUEST ","ERROR_DESCRIPTION을 ""AADSTS90014 : 'client_secret 또는 client_assertion'

: 요청 기관은 다음 매개 변수를 포함해야합니다 이 메서드는 클라이언트 암호를 인수로 수락하지 않지만 클라이언트 암호가 필요하다는 불만을 제기합니다.

도와 주시겠습니까?

감사 아닐는

답변

0

불행하게도, 도서관은 지금 당신의 시나리오를 지원하지 않습니다. 사용중인 acquireTokenWithRefreshToken 함수는 클라이언트 비공개가 필요없는 OAuth 공개 클라이언트를위한 것이지만 앱은 OAuth 기밀 클라이언트입니다.

시나리오를 지원하는 새로운 방법을 추가해야하는 필요성을 추적하기 위해 GitHub 레포에 다음 문제를 제출했습니다.

https://github.com/AzureAD/azure-activedirectory-library-for-nodejs/issues/22

+0

감사 인사. - Anil –

+0

Rich Rich, acquireTokenWithRefreshToken 메서드 대신 auth code가 만료 될 때 acquireTokenWithClientCredentials 메서드를 사용할 수 있습니까? 토큰을 다시 가져 오는 것과 같은 방식으로 작동합니까? 이 두 가지 방법의 차이점은 무엇입니까? –

+0

acquireTokenWithClientCredentials는 서버를 인증하기위한 것입니다. 새로 고침 토큰 매개 변수를 사용하지 않으므로 인증 코드가있는 사용자와 관련된 토큰이 생성되지 않습니다. 따라서 해당 사용자 리소스에 액세스 할 수 없습니다. –