代码拉取完成,页面将自动刷新
控制器中调用以下方法即可生成公钥私钥对,请妥善保存
(new \lib\SSO)->createKey();
向授权中心获取验证码,request_domain参数必须是当前ip对应的域名,否则验证无法通过 将当前返回的code字符串保存到项目根目录的ssocode.txt文件中,确保该文件可访问,再设置公钥
POST {{url}}/index/getCode HTTP/1.1
content-type: application/json
{
"request_domain": "http://www.example.com"
}
向授权中心设置公钥
POST {{url}}/index/setPublicKey HTTP/1.1
content-type: application/json
{
"request_domain": "http://www.example.com",
"public_key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDR3ZA/qbMfsyvT0vK1d3K3R01TaIurhXjYpwYc+Dv5jOCFmhYpfEMu4p3XONLszQrEf1Lj9wJvodMHQ1Eg3rt2Hmx/J2sUCxjp9rvI4qqH6dstmTlZf1FdJs4TUawhD0yBJV6NxI+sob81bVZj3IjLrhRjf5LCVxbXh5jxBr66bwID"
}
查看在授权中心设置的公钥
POST {{url}}/index/getPublicKey HTTP/1.1
content-type: application/json
{
"request_domain": "http://www.example.com"
}
domain参数为目标网站域名地址 account参数为账号
POST {{url}}/index/getTicket HTTP/1.1
content-type: application/json
{
"request_domain": "http://www.example.com",
"domain": "http://www.target.com",
"account": "15112341234"
}
返回值示例
{
"code":0,
"msg":"请求成功",
"data":{
"url":"http://www.target.com?ticket=TSVBOCU4QSUxOCVBNiVBQlIlRTIlRTMlOTMlMDglMUR0VCVDNVAlQjAlRjklMTQlMjMlRkMlRkIlQTYlRTklOTYlMDZPJUU4JUI3JTBBJTNCJUVEbSVBMiUyNCUyMSVGNSU1QyUxMyU4MkslQzMlQjQlQ0MlQTglOUYlRUYlNUIlQzglQUElRDc5WSVBQk8lRkElQzclMEUlQTQlRDElQzYlMUJHJTg1JTBDJUIyJTFEWUQlQjQlMjUlMDglQTglRTAlNUJDQSVGMyU4QiUyNSUxQiVGQSVCNmVhNiUxMCUxRlJpJUM3JUJGJTJDJUU2JUE2NyUxQyslRTYlQTglOEYlQTclRDIlMjQlRUElMTklMDYlQTQlM0NJJTFDJTlBJTFCJTdDJTVCdCVCNyVEN0clNUIlODZfXyUwQSVGNFQlQ0JT"
},
"time":"2024-01-20 09:48:13"
}
http://www.target.com使用私钥解密data.url中ticket参数,得到account账户信息和time签发时间
$private_key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$result = (new \lib\SSO('', $private_key))->privateDecrypt(input('ticket'));
$info = json_decode($result, true);
$info为:
{
"account":"15107384435",
"time":1705715293 // 签发时间
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。