【问题标题】:How does Keycloak with Android work using SAML protocol?Android 的 Keycloak 如何使用 SAML 协议工作?
【发布时间】:2021-01-11 19:52:51
【问题描述】:

我已经成功地在 Android 中使用 keycloak openid-connect 协议配置为 SSO 创建了一个演示。现在我想使用 SAML 协议。

我在 openid-connect 中使用的详细信息:

client_id

用户名

密码

授予类型

client_secret

现在,当我在 keycloak 仪表板中从 openid-connect 更改为 SAML 时,客户端机密选项变得不可见。

因此,在 android 中,我删除了该变量,并将 URL 从 openid-connect 更改为 SAML。但是出现Page not found

的错误

我看过很多例子,也搜索并导入了 github 项目,但是我会用 openid-connect 获得演示,或者我会不使用 keyclaok 获得演示。

我不明白还需要什么。

顺便说一句,我为 openid-connect 遵循了这个示例,它也可以正常工作:https://github.com/thomasdarimont/android-openid-connect/tree/feature/keycloak-oidc-demo

我将分享一些代码:

protected Boolean doInBackground(String... args) {
            String authToken = args[0];
            IdTokenResponse response;

            showLog("Requesting ID token.");

            try {
                response = OIDCUtils.requestTokens(Config.tokenServerUrl,
                        Config.redirectUrl,
                        Config.clientId,
                      
                        authToken);
            } catch (IOException e) {
                Log.e(TAG, "Could not get response.");
                e.printStackTrace();
                return false;
            }

            if (isNewAccount) {
                createAccount(response);
            } else {
                setTokens(response);
            }

            return true;
        }

看看,这方面的例子真的很少。不知道为什么!

【问题讨论】:

    标签: android keycloak saml


    【解决方案1】:

    SAML 主要用于基于浏览器的身份验证(包括身份验证请求、重定向等)。所以这并不适合 Android 应用。

    您是否有充分的理由使用 SAML 而不是坚持使用您的(已经有效的)OIDC 解决方案?

    【讨论】:

    • 是的,我有一个具体的原因。已经用 SAML 表单后端和其他端配置了很多东西。而且我必须只使用 SAML。这是一个具体的实际要求,不能改变。所以唯一的办法是,无论如何我都需要在 Android 中实现。
    猜你喜欢
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 2018-07-15
    • 2021-08-10
    • 1970-01-01
    • 2019-02-24
    • 2019-08-13
    • 1970-01-01
    相关资源
    最近更新 更多