Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java OAuth2令牌应该使用多长时间?_Java_Database_Spring_Oauth 2.0 - Fatal编程技术网

Java OAuth2令牌应该使用多长时间?

Java OAuth2令牌应该使用多长时间?,java,database,spring,oauth-2.0,Java,Database,Spring,Oauth 2.0,OAuth2令牌的生命周期是什么。我们是否要为每个用户将其保存在RDBMS中?这取决于OAuth提供商,但通常访问令牌的有效期为1小时,只要您有相应的刷新令牌对,就可以刷新。如果访问令牌已过期,则可以使用在初始令牌请求期间发送的刷新令牌对其进行刷新。一旦刷新令牌的生存期到期,应删除令牌,这通常会持续很长的时间(以天或月为单位)。这取决于OAuth提供程序,但通常访问令牌的有效期为1小时,只要您有相应的刷新令牌对,就可以刷新令牌。如果访问令牌已过期,则可以使用在初始令牌请求期间发送的刷新令牌对其进

OAuth2令牌的生命周期是什么。我们是否要为每个用户将其保存在RDBMS中?

这取决于OAuth提供商,但通常访问令牌的有效期为1小时,只要您有相应的刷新令牌对,就可以刷新。如果访问令牌已过期,则可以使用在初始令牌请求期间发送的刷新令牌对其进行刷新。一旦刷新令牌的生存期到期,应删除令牌,这通常会持续很长的时间(以天或月为单位)。

这取决于OAuth提供程序,但通常访问令牌的有效期为1小时,只要您有相应的刷新令牌对,就可以刷新令牌。如果访问令牌已过期,则可以使用在初始令牌请求期间发送的刷新令牌对其进行刷新。一旦刷新令牌的生存期到期,应立即删除令牌,这通常会持续很长时间(以天或月为单位)。

这是OAuth2流程:

身份验证服务器设置令牌的过期日期,因此您可以使用令牌直到其过期

应用程序接收如下所示的访问令牌:

{"access_token":"ACCESS_TOKEN","token_type":"bearer","expires_in":2592000,"refresh_token":"REFRESH_TOKEN","scope":"read","uid":100101,"info":{"name":"Mark E. Mark","email":"mark@thefunkybunch.com"}}
如果发布了刷新令牌,则当令牌已过期时,它可用于请求新的访问令牌


您可以找到更多详细信息。

这是OAuth2流程:

身份验证服务器设置令牌的过期日期,因此您可以使用令牌直到其过期

应用程序接收如下所示的访问令牌:

{"access_token":"ACCESS_TOKEN","token_type":"bearer","expires_in":2592000,"refresh_token":"REFRESH_TOKEN","scope":"read","uid":100101,"info":{"name":"Mark E. Mark","email":"mark@thefunkybunch.com"}}
如果发布了刷新令牌,则当令牌已过期时,它可用于请求新的访问令牌


您可以找到更多详细信息。

您可以自定义令牌(原始令牌和刷新令牌)的生命周期,例如在您的
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中。

您可以自定义令牌的生命周期(原始令牌和刷新令牌),例如,在实施
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中。

OAuth服务器已将令牌持久化,您是否希望将令牌持久化到客户端?该令牌仅用于会话的想法是否有争议?现在固执己见,2-3年后会有一个标准!!它固执己见,但有一个最好的意见!!这将成为未来的标准,就像许多其他事情一样……OAuth服务器已经将令牌持久化了,您想在客户端中持久化令牌吗?该令牌的想法不是只为会话提供吗?自以为是吗?现在固执己见,2-3年后会有一个标准!!它固执己见,但有一个最好的意见!!这将成为未来的标准,就像许多其他事情一样…所以我们不能操纵授权服务器的设置?它是由他们管理的吗?比如facebook、linkedIn。。我们不能请求永久有效的令牌?不,您不能操纵外部身份验证服务器(facebook、github、linkedin等)的过期日期,但如果您有身份验证服务器,您可以这样做。所以我们不能操纵授权服务器的设置?它是由他们管理的吗?比如facebook、linkedIn。。我们不能请求永久有效的代币?不,你不能操纵外部身份验证服务器(facebook、github、linkedin等)的过期日期,但如果你有身份验证服务器,你可以这样做。