开发者社区 问答 正文

钉钉现在免登地址怎么传企业id?$CORPID$没用了吗?

钉钉现在免登地址怎么传企业id?$CORPID$没用了吗?

展开
收起
真的很搞笑 2023-12-28 07:47:32 97 分享 版权
阿里云 AI 助理回答

在钉钉开发中,如果您想通过免登地址传递企业ID($CORPID$),实际上是在进行钉钉OAuth2.0授权登录的流程中实现的。之前可能直接在URL中拼接企业ID的方式不再推荐或不再有效,因为这涉及到安全性和规范性问题。

正确的做法是利用钉钉提供的OAuth2.0授权码流程来获取用户信息及企业信息。具体步骤如下:

  1. 申请应用并配置:首先,您需要在钉钉开发者平台创建一个企业内部应用,并获取到AppKey和AppSecret。同时,确保您的应用已经启用了“免登”功能。

  2. 构建授权链接:构建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是一个自定义的状态参数,用于防止跨站请求伪造攻击。

  3. 处理回调:用户同意授权后,钉钉会回调您设置的redirect_uri,并携带一个临时授权码(code)。您需要在后端服务器使用这个code,结合AppSecret发起请求,换取access_token和openid。

  4. 获取企业ID:有了access_token和openid后,可以通过钉钉API(如https://oapi.dingtalk.com/user/getuserinfo)获取用户信息,其中就包括了用户所在的企业ID(corpid)。如果是需要获取当前登录用户所在企业的详细信息,可以进一步调用相关API。

这样,您就可以在不直接暴露企业ID的情况下,安全地获取到并使用它。请确保遵循钉钉开放平台的最新文档和指南,因为API和流程可能会有更新。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答