2017-03-31 2 views
0

initial post 이후 adue.js와 Vue.js를 통합하는 과정에서 약간의 진전을 보았습니다. 나는 성공적으로 로그인 중이며 설정 될 것으로 예상되는 속성은 localStorage에 설정되어 있습니다.acquireToken 콜백이 호출되지 않았습니다

그러나 acquireToken으로 전화하면 절대로 콜백을 호출하지 않습니다. 코드는 다음과 같습니다 : 다음과 같이

let url = 'https://api.webserver.com/api/endpoint'; 

authContext.acquireToken(url, (err, token) => { 
    console.log(`acquiring token for ${url}`); 
    console.log(err, token); 
}); 

이 adal.js의 소스를 보면, acquireToken에 대한 메소드 서명은 다음과 같습니다

AuthenticationContext.prototype.acquireToken(resource, callback) 

콜백이 호출되지 않습니다. url 값이 메소드가 예상하는 값을 전달하고 있습니까? 나는 이것에 대해 명확하지 않다.

귀하의 도움에 감사드립니다. 미리 감사드립니다!

답변

1

init 게시물에 따르면 Azure AD 응용 프로그램의 구성을 완료 했으므로 acquireToken() 기능 아래 urlclient_id으로 바꿀 수 있습니다.

소스 코드 adal for js에 따르면 acquireToken()은 에 getCachedToken()을 호출합니다.

그리고 getCachedToken()은 브라우저 세션에서 토큰을 var token = this._getItem(this.CONSTANTS.STORAGE.ACCESS_TOKEN_KEY + resource); 통해 얻을 수 있습니다. 성공적으로 로그인하면 브라우저의 DEV TOOL에서 모든 광고 정보를 확인할 수 있습니다. 여기에있는 리소스는 client_id 형식으로되어 있습니다.

enter image description here

당신이 콜백을 가지고 싶다면, 다음과 같은 코드를 사용할 수 있습니다 버전 1.0.13 AdalJS에서
+0

좋아을, 나는이 작업을 얻었다! 하지만 ... 토큰이 제대로 새로 고쳐지지 않는 것 같습니다. acquireToken을 연속적으로 호출하면 토큰이 업데이트 될 것이라는 가정하에있었습니다. 그러나 세션은 약 30 분 후에 종료 된 것처럼 보이며이 경우 콜백이 호출되지 않습니다. –

0

:

   authContext.acquireToken('https://api.webserver.com/api/endpoint').then(function (token) { 
        console.log(token) 
       },function(error){ 
        console.log('Failed to acquire token'); 
       } 
      ); 
+0

정말요? acquireToken은 약속 또는 임의의 유형의 객체를 반환하지 않습니다. –

+0

현재이 도구를 사용하고 있으며 저에게 적합합니다! –

+0

adal.js의 어떤 버전입니까? –

관련 문제