客户身份(CIAM)
获取用户登录状态
通常企业有多个网站系统,出于用户体验的需求,当用户在第一个网站应用登录认证后,在同一浏览器中访问第2/n个网站应用的首页时,希望通过Ajax请求调用IDaaS接口提前获知当前用户的登录状态。若用户已登录时,则直接登录进入第2/n个网站,无需用户再手工点击登录按钮触发单点登录流程。
# 请求说明
GET https://{domain_name}/api/v1/config/isLogin
# 请求头
参数名 | 中文名称 | 必须 | 类型 | 描述 |
---|---|---|---|---|
Cookie | SSO Cookie | 是 | String | 例如: AMS_SID=abcde-123,浏览器自动携带Cookie发送 |
# 请求示例
采用Ajax请求代码示例:
$.ajax({
url: "https://{your_domain}/api/v1/config/isLogin",
type: "get",
dataType: 'json',
xhrFields: {
withCredentials: true // Ajax请求携带跨域cookie
},
success(data) {
console.info(data);
},
error(err) {
console.log(err);
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 请求参数
无
# 返回示例
用户已登录状态示例:
HTTP/1.1 200 OK
Content-Type: application/json
true
用户未登录状态示例:
HTTP/1.1 200 OK
Content-Type: application/json
false
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 返回参数
true:表示用户已登录状态
false:表示用户未登录状态
# 注意事项
因为获取用户登录状态接口属于前端接口,涉及前端调用接口会出现跨源(cross origin)和跨站(cross site)两种情况。
跨源/跨域情况下,需要在企业中心设置允许跨域的域名地址白名单;
跨站情况下,目前Safari浏览器默认开启“阻止跨网站跟踪”,禁止跨站访问第三方Cookie。解决方案为需要将IDaaS域名自定义企业自己的域名,把跨站变成同站即可。