如何使用 AuthorizationServerSecurityConfigurer?

How to use AuthorizationServerSecurityConfigurer?

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

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

不幸的是,我无法在任何地方找到任何向我解释如何实际使用 [=11]、Google、Spring 文档、Spring oauth 文档的资源=].此外,我不明白 tokenKeyAccess("permitAll()")checkTokenAccess("isAuthenticated()") 的确切作用。

除了帮助我了解这两个功能的作用之外,请帮助我了解将来在哪里查找这些类型的信息。

Spring 安全 OAuth 公开了两个用于检查令牌的端点 (/oauth/check_token and /oauth/token_key)。默认情况下不公开这些端点(具有访问权限 "denyAll()")。

因此,如果您想使用此端点验证令牌,您必须将其添加到授权服务器的配置中:

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

可以在 "Resource Server Configuration" section of the Spring Security OAuth2 documentation 中找到更多详细信息。