Oauth2 セキュリティでスプリング ブート アプリケーションを使用しています
次のように、 client01クライアントを使用してROLE_USERを持つユーザーのみにトークンを発行するように ClientDetailsServiceConfigurer を構成しました。
@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
clients.inMemory()
.withClient("client01")
.scopes("read", "write")
.authorities("ROLE_USER")
.authorizedGrantTypes("password", "refresh_token")
.secret("password")
.accessTokenValiditySeconds(1800);
}
curl -X POST -vu client01:password 'http://localhost:8080/api/oauth/token?username=admin01&password=test&grant_type=password'
このクライアントでROLE_ADMINを持つユーザーにトークンを発行できるのはなぜですか?
実装が間違っている場合、何が正しいのでしょうか?
私の目標は、2 つのクライアントを作成することです。- 別のクライアントは、ROLE_USER のみでユーザーを認証できるようにする必要があります。