Spring Boot OAuth 2配置使用DB而不是内存



下面的代码使用内存将令牌保存在会话中,是否可以将令牌存储在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
        }

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

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

最新更新