android - Android 的 Keycloak 如何使用 SAML 协议工作?
问题描述
我已经使用 SSO 的 keycloak openid-connect 协议配置在 Android 中成功创建了一个演示。现在我想使用 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;
}
看看,关于这件事的例子真的很少。不知道为什么!
解决方案
SAML 主要用于基于浏览器的身份验证(包括身份验证请求、重定向等)。所以这并不适合Android应用程序。
您是否有充分的理由使用 SAML 而不是坚持使用您的(已经工作的)OIDC 解决方案?
推荐阅读
- java - PDFBox:ExtractImages JPEG2000 图像未提取
- go - 性能提高几乎线性增加 GOMAXPROCS 从 1 到 4 但随后有点平
- django - 推荐的 Git 编辑器 - Nano 或 Visual Studio 代码
- html - Angular / Select / formControl / 默认值
- vue.js - 多角色Vuejs项目结构
- javascript - React 路由器导致无效的钩子调用
- c++ - 除了删除派生类中动态分配的内存之外,是否有使用纯虚拟析构函数的理由?
- python - 具有复杂条件的 json 模式的 Json Schema
- c++ - 字符和外文字母 c++ throws Debug Assertion Failed
- php - 如何使用 Livewire 上传文件?