2017-01-09 2 views
2

내 세션 토큰 (액세스, ID, 새로 고침)을 새로 고치려고하면 몇 가지 문제가 발생합니다. 나는 이미 this question을 읽었으며 그 해답은 어떤 일이 벌어지고 있는지 이해할 수있게 도와주었습니다. 그러나 나는 무엇을하려고하는지 잘 모르겠다. 무엇이 getSession을위한 것인가.AWS Cognito 강제 새로 고침 세션

사용자가 세션을 연장 (토큰 새로 고침) 할 수있는 세션 만료 메시지 (완료)를 구현하려고합니다. 내가 getSession()에 관해서 수집 한 것으로부터, 그것이 유효한 경우 이전 토큰을 반환하고 유효하지 않은 경우 새 토큰을 반환합니다. 내가 틀렸다면 나를 바로 잡아주세요.

확장 세션을 클릭 할 때마다 사용자에게 새/새로 고친 토큰을 제공하려고합니다. dev 용 목적을 위해, 나는 세션 확장 버튼으로 메시지를 표시하는 버튼을 가지고있다. 내가 getSession()라고 부를 때받는 토큰은 오래된 것들이지만 새로운 것들이되기를 원합니다.

기본적으로 이전 세션을 무효화하고 새 세션을 제공합니다.

내 질문은 : 나는 getSession()에 대한 몇 가지 이해가 누락

  1. 암, 앞서 언급 한 바와 같이?
  2. 사용자에게 새로운 세션 토큰 (액세스, ID, 새로 고침)을 제공 할 수 있습니까?
  3. 사용자가 다시 로그인하지 않고 # 2 할 수 있습니까?

감사합니다.

EDIT 1 : 페더레이션 ID를 사용하고 있지 않다는 것을 알면 도움이 될 수 있습니다.

답변

4

cognitoUser.refreshSession을 호출 할 수 있습니다. 내가 여기 당신을 위해 합리적인 예를 발견했습니다

Sample code: how to refresh session of Cognito User Pools with Node.js and Express

checkTokenExpiration라는 방법을 찾아, 그것을 완벽하게 세션을 새로해야 할 일을 설명합니다.

+1

'refreshSession' 메소드를 보지 못했다고 생각합니다. 나는 이틀 후에 그것을 들여다 볼 것이다. 고맙습니다. –

+0

마침내 그것을 확인하려고 주위에있다. 이것은 올바른 대답입니다. –