客户身份(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

# 请求参数

# 返回示例

用户已登录状态示例:
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

# 返回参数

true:表示用户已登录状态

false:表示用户未登录状态

# 注意事项

因为获取用户登录状态接口属于前端接口,涉及前端调用接口会出现跨源(cross origin)和跨站(cross site)两种情况。

跨源/跨域情况下,需要在企业中心设置允许跨域的域名地址白名单;

跨站情况下,目前Safari浏览器默认开启“阻止跨网站跟踪”,禁止跨站访问第三方Cookie。解决方案为需要将IDaaS域名自定义企业自己的域名,把跨站变成同站即可。