У меня есть приложение spring / jhipster с кнопкой для входа в keycloak. Когда я нажимаю кнопку входа в систему, я попадаю в keycloak, и URL-адрес будет выглядеть примерно так:
https://keycloak.mydomain.com/auth/realms/my-realm/protocol/openid-connect/auth?response_type=code&client_id=myclient&redirect_uri=http://localhost:8080/login/oauth2/code/oidc
Итак, в приведенном выше примере я хочу изменить redirect_uri=http://localhost:8080/login/oauth2/code/oidc
на что-то другое.
Итак, я добавил приведенный ниже код в src / main / java /../ config / AuthorizationServerConfig. java:
@Configuration
public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {
@Bean
PasswordEncoder passwordEncoder() {
return PasswordEncoderFactories.createDelegatingPasswordEncoder();
}
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
clients
.inMemory()
.withClient("myclient")
.secret(passwordEncoder().encode("mysecret"))
.scopes("resource:read")
.authorizedGrantTypes("authorization_code")
.redirectUris("https://new-url-I-want.com");
}
}
Но даже с указанным выше изменением redirect_uri не т вообще не изменится. Кто-нибудь знает, почему это так?
И дополнительная информация о том, почему я внес эти изменения:
С потоком кода авторизации OID C поставщик услуг (в данном случае мой веб-сайт) предоставляет поставщику удостоверений (Keycloak) URI для перенаправления пользователя обратно после успешной аутентификации. Однако, согласно документам Spring, «с конфигурацией по умолчанию, хотя поток кода авторизации технически разрешен, он не полностью настроен»: https://docs.spring.io/spring-security-oauth2-boot/docs/current/reference/html5/#oauth2 -boot-authorization-server-authorization-code-grant
В документах go говорится, что «OAuth2 Boot не поддерживает настройку URI перенаправления в качестве свойства - скажем, вместе с идентификатором клиента и секретом клиента». Итак,
"Чтобы добавить URI перенаправления, вам необходимо указать клиента, используя InMemoryClientDetailsService
или JdbcClientDetailsService
": https://docs.spring.io/spring-security-oauth2-boot/docs/current/reference/html5/#registering -a-redirect-uri-with-the- клиент