web-dev-qa-db-ja.com

AuthorizationServerSecurityConfigurerの使用方法は?

私はこのコードを持つSpringブートプロジェクトを見ています:

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

残念ながら、どこにでもリソースを見つけることができません(つまり、Google、Spring docs、Spring oauth docs)。実際にAuthorizationServerSecurityConfigurerを使用する方法を説明しています。 tokenKeyAccess("permitAll()")またはcheckTokenAccess("isAuthenticated()")が何をするかを正確に理解していない。

これらの2つの機能が何をするのかを理解するのを助ける以外に、将来これらのタイプの情報を探す場所を学ぶのを助けてください。

15
KZcoding

Spring Security OAuthは、トークンをチェックするための2つのエンドポイントを公開します( /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ドキュメントの "Resource Server Configuration"セクション をご覧ください。

23
koe