如何使用AuthorizationServerSecurityConfigurer?

27

我正在查看一个Spring Boot项目,其中包含以下代码:

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

很不幸,我无法在任何地方找到任何资源(例如Google、Spring文档和Spring oauth文档),来解释如何实际使用AuthorizationServerSecurityConfigurer。此外,我不确切了解tokenKeyAccess("permitAll()")checkTokenAccess("isAuthenticated()")的作用。

除了帮助我理解这两个函数的作用之外,请帮助我学习在将来哪里寻找此类信息。

1个回答

35

Spring Security OAuth公开了两个用于检查令牌的端点(/oauth/check_token/oauth/token_key)。这些端点默认不公开(访问被“denyAll()”拒绝)。

因此,如果你想要通过这些端点验证令牌,你需要将以下内容添加到你的授权服务器配置中:

@Override
public void configure(AuthorizationServerSecurityConfigurer oauthServer) throws Exception {
    oauthServer.tokenKeyAccess("isAnonymous() || hasAuthority('ROLE_TRUSTED_CLIENT')")
               .checkTokenAccess("hasAuthority('ROLE_TRUSTED_CLIENT')");
}

可以在Spring Security OAuth2文档的“资源服务器配置”部分中找到更多详细信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接