OAuth2 同意页不显示范围



我正在阅读Spring in action 6这本书,身份验证服务器不能正常工作。我试过自定义服务器或从互联网上复制一个,但它没有帮助

链接:http://localhost: 9000/oauth2/授权? response_type = code& client_id = taco-admin-client& redirect_uri = http://127.0.0.1:9090登录/oauth2/代码/taco-admin-client&范围= writeIngredients + deleteIngredients

这就是它的样子

我的豆:

@Bean
public RegisteredClientRepository registeredClientRepository(
PasswordEncoder passwordEncoder) {
RegisteredClient registeredClient =
RegisteredClient.withId(UUID.randomUUID().toString())
.clientId("taco-admin-client")
.clientSecret(passwordEncoder.encode("secret"))
.clientAuthenticationMethod(
ClientAuthenticationMethod.CLIENT_SECRET_BASIC)
.authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE)
.authorizationGrantType(AuthorizationGrantType.REFRESH_TOKEN)
.redirectUri(
"http://127.0.0.1:9090/login/oauth2/code/taco-admin-client")
.scope("writeIngredients")
.scope("deleteIngredients")
.scope(OidcScopes.OPENID)
.clientSettings(
clientSettings -> clientSettings.requireUserConsent(true))
.build();
return new InMemoryRegisteredClientRepository(registeredClient);
}

应该是这样的

我有同样的问题,在我的情况下发生的是url是错误的,它有一个额外的"scope=writeIngredients+ deleteingredient "后面的划线,所以它没有显示范围。正确的url是:http://localhost: 9000/oauth2/授权? response_type = code& client_id = taco-admin-client& redirect_uri = http://127.0.0.1:9090登录/oauth2/代码/taco-admin-client&范围= writeIngredients + deleteIngredients

最新更新