ToB企服应用市场:ToB评测及商务社交产业平台

标题: keycloak~关于社区认证的总结 [打印本页]

作者: 张国伟    时间: 2025-2-21 09:21
标题: keycloak~关于社区认证的总结
keycloak关于社区认证它有统一的设计,社区认证包罗了github,microsoft,wechat,qq,dingtalk等等,当然你还可以扩展很多实现了oauth2协议的第三方社区,将它们对接到keycloak上面来,这变得十分容易;社区认证一般由3个提供者社区,主要如下:
社区认证流程


社区绑定事件FEDERATED_IDENTITY_LINK的扩展


社区认证绑定用户属性的方式

当社区用户绑定keycloak用户后,社区的信息在登录后,可以自动将它们写到用户属性表里,我们可以通过以下方式来实现
社区认证时的state参数构成

1 社区登录回调state参数,默认由3个参数的拼接而组成,分别是state随机数,tableId和clientId,而假如我们希望扩展它,让它支持4个参数,可以这样操作:
2 构建社区登录地址时添加自定义state参数
  1. String state = request.getState().getEncoded();
  2. if (request.getAuthenticationSession().getAuthNote("g") != null &&
  3.     request.getAuthenticationSession().getAuthNote("g").trim() != "") {
  4.   state = state + "." + request.getAuthenticationSession().getAuthNote("g");
  5. }
复制代码

3 在认证乐成后federatedIdentityContext上下文添加参数
  1. // 添加集团代码
  2. String[] decoded = DOT.split(state, 4);
  3. if (decoded.length == 4) {
  4. federatedIdentity.setUserAttribute("g", decoded[3]);
  5. }
复制代码

社区认证中用户同步的模式


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4