使用DB而不是inmemory的Spring Boot OAuth 2配置

时间:2016-09-07 09:08:00

标签: spring-boot oauth-2.0 spring-oauth2

下面的代码使用inmemory来保存会话中的令牌,是否可以将令牌存储在DB中并从中检索它?

以下代码是否会产生性能问题?

@Override
        public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
            // @formatter:off
            clients 
                .inMemory()
                    .withClient("clientapp")
                        .authorizedGrantTypes("password", "refresh_token")
                        .authorities("USER")
                        .scopes("read", "write")
                        .resourceIds(RESOURCE_ID)
                        .secret("123456");
                        /*.accessTokenValiditySeconds(2400)
                        .refreshTokenValiditySeconds(4800);*/
            // @formatter:on
        }

1 个答案:

答案 0 :(得分:0)

在内存中比从数据库访问数据更快但是,如果多个客户端正在使用它,那么最好将它放在数据库中,而不是硬编码Java文件中的所有细节。

请参阅此link以获取存储客户端所需的表和其他详细信息。 您必须在客户端对象中使用 .jdbc()方法而不是 .inMemory()来访问数据库中的详细信息。