Skip to main content

受信第三方免密登录

第三方可以通过免密登录生成特定 tenantId, teacherId 的免密登录 code,使用该 code 进入飞象星球应用后,自动获得飞象星球的登录态。

  • 第三方仅可对有权限访问的 tenantId, teacherId 生成免密登录 code,无权限时免密登录将会失败。

免密登录流程

  1. 第三方使用 appId, appSecret, tenantId, teacherId计算出此次免密登录请求的 Code。
  2. 第三方携带免密登录 Code 和 redirectUrl 打开飞象提供的中间页,验证通过后飞象负责跳转到实际的飞象功能页。
  3. 免密登录中间页对免密登录 Code 进行校验,成功获得飞象星球登录态后,自动跳转至 redirectUrl。

免密登录 Code 计算方式

  1. 使用 appId, tenantId, teacherId, requestTimestampInSecond 计算规范请求串
requestStr = base64Encode(requestTimestampInSecond + '\n' +appId + '\n' + teacherId + '\n' + tenantId)
  1. 使用 appSecret 计算签名
sign = HexEncode(HMAC_SHA256(appSecret, requestStr))
  1. 拼接 Code
Code = sign + '_' + requestStr

免密登录中间页

地址:https://login.feixiangxingqiu.com/#/nydus?code={Code}&redirectUrl={redirectUrl}

参数说明:

参数名说明
code前一步骤计算出的免密登录 Code
redirectUrl免登完成后要跳转的飞象星球应用地址

注意事项

注意

如果使用 iframe 的方式嵌套接入,由于 cookie 的跨域限制,需要保证 login.feixiangxingqiu.comredirectUrl 均使用 https 协议。

如果使用的是 safari 浏览器,还需要保证偏好设置中没有禁用第三方 cookie,具体步骤为:

1、点击屏幕左上角的“Safari浏览器”,选择“偏好设置”

2、打开偏好设置后,选择“隐私”

3、打开隐私设置后,取消“阻止所有Cookie”前面的勾选。

注意:如果该选项本来就没有勾选,可以按照下面的步骤操作

4、如果上面的选项本来就没有勾选,则取消“阻止跨站跟踪”前面的勾选。

5、接下来点击选择“管理网站数据”

6、打开对话框后,在右上角的搜索框中输入 feixiangxingqiu

7、在搜索到的列表中,把所有带有 feixiangxingqiu 的网址选项全部选中,然后点击左下角的“移除”

8、最后点击右下角的“完成”,关闭即可。

参考:如何解决Mac系统的Safari浏览器限制第三方Cookie