首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在spring boot应用程序中生成keycloak寄存器链接

在spring boot应用程序中生成keycloak寄存器链接
EN

Stack Overflow用户
提问于 2017-09-20 20:55:32
回答 1查看 1.4K关注 0票数 2

我正在用spring boot和创建/sso/login/sso/logout urls的keycloak-spring-boot-starter来保护web应用程序的构建。但我也想提供一个到钥匙罩注册页面的链接-但没有/sso/register链接。

如何实现此链接?我在keycloak-adapter源码中找不到实现login/logout资源的地方,所以指向它可能就足够了。

EN

回答 1

Stack Overflow用户

发布于 2021-03-25 18:23:40

你可以像下面的代码一样创建你自己的注册链接;

代码语言:javascript
复制
        String nonce = UUID.randomUUID().toString();
    MessageDigest md = null;
    try {
        md = MessageDigest.getInstance("SHA-256");
    } catch (NoSuchAlgorithmException e) {
        throw new RuntimeException(e);
    }
    String input = nonce + clientId;
    byte[] check = md.digest(input.getBytes(StandardCharsets.UTF_8));
    String hash = Base64Url.encode(check);

    return KeycloakUriBuilder.fromUri(keycloakEndpoint)
                .path("/realms/{realm-name}/protocol/openid-connect/registrations")
                .queryParam("response_type", "code") // Autherization Code Flow
                .queryParam("scope", "openid") // Add additional scopes if needed
                .queryParam("nonce", nonce)
                .queryParam("hash", hash)
                .queryParam("client_id", clientId)
                .queryParam("redirect_uri", "http://sample.javaspringboot.com/" + "redirect/" + redirectUrl).build(realm).toString();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46322687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档