钉钉通过微应用访问第三方服务器的H5,理论上第三方服务器出于安全考虑也是要对来访的request作身份验证的。这时候跳出个第三方的登陆页面吗?能不能做成免登?有什么好的建议吗?或者利用钉钉提供的免登Code曲线一下?按照下文的构想可行吗?
使用标准OAUTH2.0
步骤一:企业在后台构造一个连接,通过HTTP 302跳转方式,让用户访问钉钉开放平台授权网址,构造的地址如下:
oapi.dingtalk.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE
其中REDIRECT_URI为企业H5地址,钉钉开放平台授权服务器如果判断当前用户属于当前企业时,会再次通过HTTP 302跳转回企业应用的H5地址(即REDIRECT_URI),并在H5的URL后面追加参数code=CODE&state=STATE
步骤二:企业在后台解析code参数,获取CODE
第三方服务端考虑改为:
1)检查自己的身份cookie,有的话则通过
2)没有自己的cookie则解析param中的Code,询问钉钉这个人是谁,确认是自己公司的,则通过,并生成cookie,不是自己公司的返回错误。
3)没有Code,则构造上文中OAUTH2.0跳转再由钉钉转一下。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。