工业云授权登录采用的是标准的Oauth2授权码模式,用户经过工业云平台进入嵌入的第三方应用,会先跳转至第三方应用获取登录信息,您需要在该url地址携带相关的参数重定向到工业云的登录页面。
授权登录流程
获取授权登录信息
工业云授权登录采用的是标准的Oauth2授权码模式,用户经过工业云平台进入嵌入的第三方应用,会先跳转至第三方应用获取登录信息,您需要在该url地址携带相关的参数重定向到工业云的登录页面。
示例第三方应用配置地址:
携带参数跳转至工业云统一登录页:
注意:
login_appid、secretId、secretKey需要找工业云平台同学申请;
redirect_uri为授权成功后,工业云重定向到第三方平台的地址,redirect_uri必须与申请login_appid的域名完成一致;
一个第三方域名只能绑定一个login_appid;
state参数由应用方生成,用于防御CSRF攻击,并作为授权登录用户的身份证明,防止蹿号;
scope参数是用户申请授权的权限范围,all为申请所有权限
response_type采用ouath2的授权认证类型,code为授权码模式,工业云不直接返回access_token,需要用户用code获取
示例中不同角色用户跳至工业云的地址不同,www代表跳转门户,sp跳转平台管理员控制台,console跳转控制台
对于落地页在工业云以iframe嵌入,页面点击需要跳转至外部站点时,点击时前端调用
postMessage
发送消息给工业云来处理跳转问题示例如下:
由于此方案为iframe接入,页面跟工业云侧页面非同源,可能会存在高度样式问题,通常接入方可以在页面初始化好之后主动传递页面的高度到工业云侧,例如:
另外涉及到需要工业云侧页面回到顶部,可以主动传递信息:
与此同时sp端配置菜单如下图配置
图中iframe地址为落地页地址
授权第三方登录获取授权码
对应图中第十步,用户在工业云登录成功后,通过第三方应用提供的redirect_uri,将授权码code返回给第三方应用。
注意:
- 此步骤不需要第三方操作,用户登录成功后就可自动获取授权码。
- 跳转到第三方应用的地址,并在query中携带code、state、platform参数。
- Platform code申请到access_token的角色类型,0代表地市用户,1表示SP,2表示客户经理。