2017-01-09 68 views
2

當我嘗試刷新會話令牌(Access,Id,Refresh)時遇到了一些問題。我已經閱讀this question,答案幫助我理解了一些情況。但我覺得我想要做的不是什麼getSessionAWS Cognito強制刷新會話

我試圖實現一個會話過期消息(完成),允許用戶擴展他們的會話(刷新令牌)。從我收集的關於getSession()的信息中可以看出,如果它們仍然有效,它將返回舊的令牌,或者如果它們無效,則返回新的令牌。請糾正我,如果我錯了。

我試圖在點擊了延長會議每次都帶給用戶新的/刷新令牌。對於開發目的,我有一個按鈕,然後顯示與擴展會話按鈕的消息。我打電話給getSession()時收到的代幣是舊代幣,但我希望它們成爲新代幣。

所以基本上,廢除舊的會議,並給他們一個新的。

我的問題是:

  1. 我失去了約getSession()一定的瞭解,如前面提到的?
  2. 我可以給用戶新會話令牌(Access,Id,Refresh)嗎?
  3. 我可以在沒有用戶再次登錄的情況下執行#2嗎?

謝謝。

編輯1: 它可能有助於知道我沒有使用任何聯合身份。

回答

4

您可以調用cognitoUser.refreshSession。我已經找到了你一個合理的例子在這裏:

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

查找名爲checkTokenExpiration的方法,它解釋得很清楚,你所要做的刷新會議的內容。

+1

我不相信我沒有看到'refreshSession'方法。我會在接下來的幾天看看它。謝謝。 –

+0

終於開始檢查了。這是正確的答案。 –