认证中心可以通过页面跳转登录的方式接入第三方进行登录操作,用户需要通过groovy脚本自定义编写如何通过请求参数获取用户名的功能,以最终实现通过用户名登录系统的功能。
配置URL中需要解析的参数名
application-{active}.yml
ac:# 第三方系统链接跳转单点登录thirdPartyLinkSsoLogin:# 链接中的参数名,可配置多个,满足其中之一即可urlNameList:- globalUniqueID- appId
编写groovy脚本
groovy脚本的路径:war包根目录\WEB-INF\classes\plugins\customize.groovy
customize.groovy默认内容如下
:::danger
请按照实际返回的用户信息获取用户名的逻辑编写groovy脚本
:::
/**
* 根据请求报文获得用户名
* @param paramsJson
* 请求地址的参数json对象
*/
def getUsername(paramsJson){
// 写根据请求报文如何获得username的业务逻辑
return "admin";
}
说明
入参说明
-
出参说明
出参返回String类型,返回获取的用户名,如果未获取到用户名或获取用户名异常,返回
null:::danger 必须严格按照规范返回内容,否则会导致自定义登录接入功能失效 :::其它说明
groovy脚本的目录必须是
war包根目录\WEB-INF\classes\plugins- groovy脚本名称必须是
customize.groovy -
页面跳转登录
登录的地址示例
http://{ip}:{port}/{context-path}/login?{参数名1}={参数值1}&{参数名2}={参数值2}
{ip}:认证中心的ip地址
- {port}:认证中心的端口
- {context-path}:认证中心的部署包名
:::warning
注意
对应的参数替换成实际的值 :::登录说明
用户通过上述的登录地址,直接访问,登录成功后跳转的指定页面,失败后返回认证中心默认的登录地址
