2017-09-20 3 views
2

내 nodejs 프로젝트에 node-auth0 sdk를 호출합니다. 사용자 정보는 user_id를 포함하지 않는 반환Auth0 getProfile이 user_id를 반환하지 않습니다.

auth0.getProfile(accessToken, function (err, userInfo) { 
    if (err) { 
     res.status(400).json(err) 
    } 
    console.log(userInfo); 
}); 

내가 액세스 토큰으로 USER_ID를 얻으려면 어떻게해야합니까 enter image description here

?

+0

문제를 해결하는 데 도움이된다면 제 대답을 확인해 주시겠습니까? :) – arcseldon

답변

1

화면 캡처에서 sub (제목)은 user_id입니다. 예상 한 user_idfacebook|1이 될지 확인하십시오.

당신은 여기

const userId = JSON.parse(userInfo)['sub']; 

를 사용하여 문자열 JSON 개체를 구문 분석 할 필요가 작동되는 샘플 :

var AuthenticationClient = require('auth0').AuthenticationClient; 

var auth0 = new AuthenticationClient({ 
    domain: '{TENANT}.auth0.com', 
    clientId: '{client id}' 
}); 

const accessToken = '{access token}'; 

auth0.getProfile(accessToken, function (err, userInfo) { 
    const userId = JSON.parse(userInfo)['sub']; 
    console.log(userId); 
}); 

참고 만을 - 당신이 sub라고 할 때, String 객체를 처리하고 있기 때문에 당신은 더 이상 사용되지 않는 것에 대한 참조를 얻고있었습니다 String sub prototype function 혼란을 이해할 수 있습니다. 어떤 유형의 객체인지 확실하지 않으면 좋은 방법은 다음과 같습니다. console.log(typeof userInfo);

+0

'sub' 속성 아래에'user_id' 값을 표시합니다. 그러나'let yellerID = userInfo.sub'를 실행하면'yellerID' 변수에 할당 된'function sub() {[native code]}'를 얻을 수 있습니다. – ykn121

+0

내가'yellerID = userInfo.sub()'를 실행하면, 화면에 해당 객체가 ''이됩니다. ykn121

+0

auth0 2.7.0 – ykn121