2017-04-12 88 views
-1

OAuth2令牌的生命週期是什麼?我們是否應該爲每個用戶堅持使用RDBMS?OAuth2令牌應該存活多久?

+1

OAuth服務器已經存在令牌,您是否想在客戶端持久存儲令牌? – PapaSmurf

+0

是不是隻爲會議給出的令牌的想法? – strash

+0

意見?現在自以爲是,2-3年後會有一個標準!它的意見,但有一個最好的意見!這將成爲未來的標準,與其他很多事情一樣...... – strash

回答

1

它取決於OAuth提供程序,但通常access_token有效期爲1小時,只要您具有相應的refresh_token對,就可以刷新它。如果access_token已過期,則可以使用在初始令牌請求期間發送的refresh_token來刷新它。一旦刷新令牌的生命週期過期,令牌應該被刪除,這通常可能在幾天或幾個月內持續很長時間。

2

您可以自定義令牌的生命週期(原和刷新令牌),例如在你的實現AuthorizationServerConfigurerAdapter你可以有:

@Override 
    public void configure(ClientDetailsServiceConfigurer clients) throws Exception { 

     clients.inMemory().withClient("client-name") 
       .authorizedGrantTypes("password", "authorization_code", "refresh_token", "implicit") 
       .authorities("ROLE_CLIENT", "ROLE_TRUSTED_CLIENT", "ROLE_ADMIN").scopes("read", "write", "trust") 
       .secret("secret").accessTokenValiditySeconds(15552000).refreshTokenValiditySeconds(30000000); 
    } 

,是的,你可以將令牌存儲在RDBMS時你在數據庫管理中使用而不是在內存管理身份驗證和授權。