单点登录的实现以及API说明
单点登录的实现以及API说明
发布日期:2017-09-20
浏览次数:3638
单点登录API可以帮助您安全有效的判断来自起飞页的用户是否已经登录,常常用于对接您的网站和您的后台系统。具体实现方式如下:
1、在商城后台中启用API以及这个功能

注意:只有光速版以上版本才支持API,普通太空版是不支持的API的。如果使用普通的太空版,是看不到这个界面的。但是免费版可以看到的。
2、想好您的后台系统应该如何处理token,确定一个地址
假设您的后台系统的地址是:console.example.com,您需要处理来自网站请求的地址是:http://console.example.com/login_from_website?token=your_token 。 那么,您可以在菜单后者按钮中,加入这样的一个URL链接。把token的值换成替换符"--auth_token--"就行了。如下图所示:
按钮

菜单

用户菜单

在页面中,起飞页系统会自动将--auth_token--替换成一个和这个用户这次登录唯一对应一个UUID。例如:
http://console.example.com/login_from_website?token=59c1041edfdb6
当用户点击这个链接之后,就会跳转到您的系统并自带了一个唯一标识。接下来我们只需要验证这个唯一标识是否是起飞页生成的即可。
重点:目前只能在菜单,用户菜单和按钮中使用替换符"--auth_token--"。
3、通过API验证传递过来的token是否有效,并获得用户基本信息
假设您的起飞页网站地址为:http://www.example.com/,API_KEY是123456,用户传过来的token是aaabbbccc。那么您的验证API地址是:
http://www.example.com/FeiEditor/api_v1/auth?token=aaabbbccc&API_KEY=123456
当然,您也可以使用POST方法来传递token和API_KEY这两个参数。
系统的可能返回为:
验证成功:
{
"result":true,
"user":{
"ID":"1234",
"user_email":"example@email.com",
"display_name":"A User",
"user_login":"demo-user",
"roles":{"1":"administrator","2":"subscriber"},
"user_registered":"2014-02-17 02:54:31"
}
}
重点:验证成功时,不仅会返回是否成功,而且会返回用户的ID,角色等重要信息。您可以通过这些信息得知用户的ID和权限等。
验证失败:
{
"result":false,
"reason":"fail reason"
}
4、常见问题和回答
token的有效期为多久?
token的有效期为10分钟。超过十分钟后,用户需要手动刷新页面,系统会重新生成token。
