钉钉现在免登地址怎么传企业id?$CORPID$没用了吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在钉钉开发中,如果您想通过免登地址传递企业ID($CORPID$),实际上是在进行钉钉OAuth2.0授权登录的流程中实现的。之前可能直接在URL中拼接企业ID的方式不再推荐或不再有效,因为这涉及到安全性和规范性问题。
正确的做法是利用钉钉提供的OAuth2.0授权码流程来获取用户信息及企业信息。具体步骤如下:
申请应用并配置:首先,您需要在钉钉开发者平台创建一个企业内部应用,并获取到AppKey和AppSecret。同时,确保您的应用已经启用了“免登”功能。
构建授权链接:构建OAuth2.0的授权链接,引导用户跳转。这个链接中并不直接包含企业ID,而是通过应用的AppKey来间接关联。基本格式如下:
https://oapi.dingtalk.com/connect/qrconnect?appid=YOUR_APPID&response_type=code&scope=snsapi_login&state=STATE
其中YOUR_APPID
是您的应用ID,STATE
是一个自定义的状态参数,用于防止跨站请求伪造攻击。
处理回调:用户同意授权后,钉钉会回调您设置的redirect_uri,并携带一个临时授权码(code)。您需要在后端服务器使用这个code,结合AppSecret发起请求,换取access_token和openid。
获取企业ID:有了access_token和openid后,可以通过钉钉API(如https://oapi.dingtalk.com/user/getuserinfo
)获取用户信息,其中就包括了用户所在的企业ID(corpid)。如果是需要获取当前登录用户所在企业的详细信息,可以进一步调用相关API。
这样,您就可以在不直接暴露企业ID的情况下,安全地获取到并使用它。请确保遵循钉钉开放平台的最新文档和指南,因为API和流程可能会有更新。