Spring Boot OAuth TokenStore始终为空

时间:2018-01-12 21:06:01

标签: spring spring-boot oauth

我尝试使用Spring Boot OAuth包实现OAuth身份验证服务器。我正在关注this文章,但是我没有使用JDBC TokenStore,而是只需要InMemoryTokenStore和隐式授权。

应用程序通过表单登录进行保护,我可以登录,授予访问权限并通过短令牌重定向到重定向uri。但在那之后,InMemoryTokenStore是空的。我试过调试,看起来像方法storeAccessToken永远不会被调用。

我的配置文件如下所示:

@Configuration
@EnableAuthorizationServer
public class OAuth2ServerConfig extends AuthorizationServerConfigurerAdapter {

    @Autowired
    private AuthenticationManager authenticationManager;

    private Logger log = Logger.getLogger(getClass().getName());

    @Override
    public void configure(AuthorizationServerSecurityConfigurer oauthServer) throws Exception {
        oauthServer
                .tokenKeyAccess("permitAll()")
                .checkTokenAccess("permitAll()");
    }

    @Override
    public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
        clients
                .inMemory()
                .withClient("tripapp")
                .authorizedGrantTypes("implicit")
                .redirectUris("http://localhost:8080/redirect")
                .scopes("read")
                .authorities("USER")
                .autoApprove(false)
                .accessTokenValiditySeconds(3600);
    }

    @Override
    public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
        endpoints
                .tokenStore(tokenStore())
                .authenticationManager(authenticationManager);
    }

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

有没有人知道问题出在哪里?

0 个答案:

没有答案