Как установить redirect_uri в Keycloak с загрузкой Spring - PullRequest
0 голосов
/ 13 января 2019

Я использую Keycloak в своем приложении Spring Boot, но я не могу понять, как предоставить свой собственный редирект uri

Это моя конфигурация

keycloak:
    use-resource-role-mappings: true
    realm: customer-realm
    resource: web-frontend
    token-minimum-time-to-live: 30
    principal-attribute: preferred_username
    credentials:
        secret: 321321321-88a2-424c-bb4c-2312312321
    auth-server-url: http://auth.customer.mydomain.tld:9080/auth

Я попытался установить redirect_uri следующим образом

   <a href="/login?redirect_uri=http://localhost:8443/customer/account">Login</a>

Конечно, я добавил этот URI в настройки своей области.

Но когда пользователь нажимает на ссылку, она выглядит следующим образом

http://auth.customer.mydomain.tld:9080/auth/realms/customer-realm/protocol/openid-connect/auth?response_type=code&client_id=web-frontend&redirect_uri=http%3A%2F%2Flocalhost%3A8443%2Fsso%2Flogin&state=e81ad405-8a83-4e84-a155-2f1275f4390b&login=true&scope=openid

Как я могу предоставить свой собственный URI перенаправления?

Спасибо

1 Ответ

0 голосов
/ 23 мая 2019

У нас есть приложение весенней загрузки, которое устанавливает это через конфигурацию:

@Configuration
public class Config {
    @Value("${app.client.id}")
    private String clientId;

    @Value("${app.client.secret}")
    private String clientSecret;

    @Value("${auth.server.hostname}")
    private String authServerHost;

    @Value("${auth.server.port}")
    private String authServerPort;

    @Bean
    public SecurityConfiguration securityInfo() {
        Map<String, Object> additionalQueryStringParams = new HashMap<>();
        additionalQueryStringParams.put("redirect_uri", 
          "http://" + authServerHost + ":" + authServerPort + "/sso/login");
        return new SecurityConfiguration(clientId, clientSecret, "", "", "", additionalQueryStringParams, false);
    }
}

Может быть, это также работает для вас?

...