玩转SSO苍穹退出和钉钉集成


亲爱的小伙伴,你是不是也遇到了跟上面同学一样的问题呢?别急,小编这就给大家讲解这2个问题的解决方法。
1 苍穹SSO退出CAS服务器
针对“退出苍穹的同时退出CAS服务器”的客户需求,解决方案如下:
在苍穹退出后,系统会调用SSO插件的getTrdSSOAuth方法,并在该方法中返回到SSO插件中指定的登录页面。那么,我们在该方法中可以根据当前请求是退出操作,从而执行CAS server的退出操作。
相关代码如下:
public void callTrdSSOLogin(HttpServletRequest request, HttpServletResponse response, String backUrl)
{
String path = request.getRequestURI();
if (path.contains("/auth/logout.do"))
{
//在此处执行CAS server的退出操作
HandleCASLogout(request);
}
……
}2 苍穹SSO集成钉钉
为什么会存在钉钉和SSO集成的问题,而企业微信没有?
因为钉钉在获取认证Token的时候是通过前端JavaScript获取,而不是通过苍穹后台直接获取。所以,钉钉在认证时需要先跳转到苍穹移动登录页,在登录页中去实现钉钉的Token的获取,这是苍穹移动登录的默认存在逻辑。
明白了原因,问题就好解决了~在SSO认证需要跳转到CAS服务器的登录页的逻辑前,增加钉钉访问的识别,并将URL对应的参数转发到移动登录界面即可。
不多解释了,Talk is cheap。Show you the code:
public void callTrdSSOLogin(HttpServletRequest request, HttpServletResponse response, String backUrl)
{
String appType = request.getParameter("apptype");
String tenantId = RevProxyUtil.getTenantCode(request);
String server=UrlService.getDomainContextUrl(tenantId);
if ("dd".equalsIgnoreCase(appType)) {
//钉钉的处理逻辑
//1,获取当前url的参数
Enumerationenums = request.getParameterNames();
StringBuilder sbBuilder = new StringBuilder();
while (enums.hasMoreElements()) {
String name = enums.nextElement玩转SSO苍穹退出和钉钉集成
亲爱的小伙伴,你是不是也遇到了跟上面同学一样的问题呢?别急,小编这就给大家讲解这2个问题的解决方法。1 苍穹SSO退出CAS服务器针对“退...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



