우리의 7 개 마이크로 서비스에서 우리는 Auth0 id_token
을 의지합니다. refresh_token
(POST myapp.auth0.com/oauth/token
)을 교환 할 때 나는 이 아닌 access_token
만 돌려받습니다.Auth0 - refresh_token에서 id_token 가져 오기
id_token
에 대해 refresh_token
을 Auth0의 API로 어떻게 교환합니까?
우리의 7 개 마이크로 서비스에서 우리는 Auth0 id_token
을 의지합니다. refresh_token
(POST myapp.auth0.com/oauth/token
)을 교환 할 때 나는 이 아닌 access_token
만 돌려받습니다.Auth0 - refresh_token에서 id_token 가져 오기
id_token
에 대해 refresh_token
을 Auth0의 API로 어떻게 교환합니까?
새로 고침 토큰 부여는 Auth0의 새로운 API 인증 기능에 대한 것입니다. 내가 찾던 끝점은 /delegation
입니다.
예 Node.js를 코드 :
const tokenClient = axios.create({
baseURL: `https://${env.AUTH0_DOMAIN}`,
headers: {
'content-type': 'application/json'
}
})
const refreshTokenClient = {
getAccessToken: (refreshToken) => {
// The official Node.js SDK for Auth0 does not
// support this it would seem (it forces passing id_token)
return tokenClient.post('/delegation', {
client_id: env.AUTH0_CLIENT_ID,
target: env.AUTH0_CLIENT_ID,
grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',
refresh_token: refreshToken,
scope: 'openid',
api_type: 'auth0'
}).then(r => r.data)
}
}
기술적으로 refresh_token
부여 유형은 OAuth 2.0의 일부이며 id_token
은 OAuth 2.0 위에 구축 된 신원 확인 프로토콜 인 OpenID Connect의 일부입니다.
refresh_token
보조 유형 OAuth 2.0을 사용하면 액세스 토큰을 갱신 할 수 있습니다. OpenID Connect는 합당한 이유 때문에 추가 동작을 정의하지 않습니다. id_token
은 사용자 인증 이벤트의 결과로 정의되며 사용자 상호 작용이없는 "인증 새로 고침"은 따라서 새 id_token
이 될 수 없습니다. 사용자는 잠시 동안 로그 아웃하거나 계정을 삭제했을 수 있습니다.
id_token
새로 고침은 새로 고침 토큰을 자율적으로 사용하지 않고 사용자를 OpenID Connect Provider로 다시 보내서 수행해야합니다.
내가 각도를 들면, 새로 고침 토큰에 대한 데모를받을 수 있습니까? @ 한스 –