如何在春季启动oauth2中保存令牌redis和jdbc

时间:2020-01-06 06:57:38

标签: java spring spring-boot oauth redis

我使用Redis缓存令牌使用spring安全性。我将令牌保存为redis:

    @Bean    
        public TokenStore redisTokenStore() {
            return new RedisTokenStore(redisConnectionFactory);
        }

   @Override
    public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
        endpoints.authenticationManager(authenticationManager)
                .allowedTokenEndpointRequestMethods(HttpMethod.GET, HttpMethod.POST)
                .tokenStore(redisTokenStore()) // registering redisTokenStore bean
                .tokenEnhancer(new CustomTokenEnhancer());
    }

将成功保存为redis。但是我也想将令牌保存到mysql。我想同时保存令牌:redis和数据库。但是我使用时:

@Bean
    public TokenStore tokenStore() {
        return new JdbcTokenStore(dataSource);
    }

  @Override
        public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
            endpoints.authenticationManager(authenticationManager)
                    .allowedTokenEndpointRequestMethods(HttpMethod.GET, HttpMethod.POST)
                    .tokenStore(redisTokenStore()) // registering redisTokenStore bean
                    .tokenStore(tokenStore())
                    .tokenEnhancer(new CustomTokenEnhancer());
        }

它不起作用。只保存到我的redis。它没有保存到mydatabase。但是当我评论redis bean时。它保存到数据库。

我有三个问题:

  1. 如何实现令牌保存redis和jdbc
  2. 我正在使用otp代码对电话号码进行身份验证。我是否需要为此otp代码生成其他令牌。
  3. 密码和密码有什么区别

0 个答案:

没有答案
相关问题