2017-12-18 139 views
1

我使用的是Azure App Service的Easy Auth功能,我試圖用Google提供程序刷新令牌。爲什麼谷歌代幣不能用Easy Auth刷新?

我跟着Chris Gillum article正確地叫.auth/login/googleaccess_type=offline參數。然後我打電話給.auth/refresh,它給我一個200 OK並帶有一個新的authenticationToken。但是,當我通過調用.auth/me來檢查此ZUMO令牌的聲明時,我可以看到Google令牌實際上並未刷新,儘管前面的迴應成功了。 exp聲明(對應於到期時間)與上一個令牌相同。

我嘗試了幾種方案:在收到它之後立即刷新令牌,在過期時間之前10分鐘和過期時間之後(當令牌不再有效時),但在每種情況下,Easy Auth都會返回一個新的ZUMO令牌但關聯的Google令牌總是相同的。

.auth/refresh端點始終向Google提供商返回相同標記(與exp版權聲明相同)是否正常?

回答

0

由於Exchange authorization code for refresh and access tokens有關refresh_token狀態:

,你可以使用它來獲取新的訪問令牌的令牌。 刷新令牌有效,直到用戶撤銷訪問。請注意,刷新令牌總是爲安裝的應用程序返回。

而且從Refreshing an access token響應僅包含access_tokenexpires_in(接入令牌的以秒剩餘壽命),token_type

.auth/refresh端點始終與Google提供程序返回相同的標記(相同的exp聲明)是否正常?

下您的應用程序服務的監視部分使用日誌流,你可以調用.auth/refresh當找到詳細的日誌如下:

enter image description here

此外,exp索賠時調用.auth/me代表到期時間爲authenticationToken而不是refresh_token

enter image description here

而且你可以利用jwt.ioauthenticationToken解碼,並將其與exp用戶要求進行比較。