OpenID Connect에서 액세스 토큰 에는 만료 시간이 있습니다. 인증 코드 흐름의 경우 일반적으로 짧은 시간 (예 : 20 분) 후 새로 고침 토큰을 사용하여 새 액세스 토큰을 요청합니다.
토큰 ID 도는 만료 시간을 가지고있다. 내 질문은 이것의 의도는 무엇입니까?
새로 고침 토큰의 만료 시간보다 짧은 ID 토큰 만료 시간은 결국 만료 된 ID 토큰을 가지지 만 유효한 액세스 토큰을 갖게됨을 의미합니다.
그래서 당신은 :
- ID 토큰이 새로 고침 토큰 만료보다 더 오래 만료되도록하거나
- 액세스 토큰과 동일한 만료로 설정하고 만료되면 조치 (무엇?)를 수행합니다.
- 수신시 클라이언트의 ID 토큰을 사용하고 그 이후의 만료 시간을 무시 하시겠습니까?
오픈 ID 연결 사양은 그냥 유효성을 검사 할 때 ID 토큰을 말한다
"The current time MUST be before the time represented by the exp Claim."
(아마도) 위의 세 번째 옵션을 지원합니다.
편집하다
OpenID Connect는 OAuth2를 기반으로 구축되므로 아래의 추가 질문에 대한 답변은 다음과 같은 OAuth2 사양 에서 찾을 수 있습니다 .
expires_in
RECOMMENDED. The lifetime in seconds of the access token.
관련 질문은 토큰에 대한 인증 코드를 교환 할 때 다음과 같은 응답을받을 수 있다는 동일한 사양입니다.
{
"access_token": "SlAV32hkKG",
"token_type": "Bearer",
"refresh_token": "8xLOxBtZp8",
"expires_in": 3600,
"id_token": "eyJhbG[...]"
}
그러나이 경우 "expires_in"은 무엇과 관련이 있습니까? 액세스 토큰, 새로 고침 토큰 또는 ID 토큰?
(정보를 위해 IdentityServer3 는이를 액세스 토큰 만료 시간으로 설정합니다.)