认证登录URL

  1. https://login.dingtalk.com/oauth2/auth:

  2. https://oapi.dingtalk.com/connect/oauth2/sns_authorize:

综上所述,https://login.dingtalk.com/oauth2/auth 主要用于企业内部应用或者服务端应用获取企业员工的授权,

https://oapi.dingtalk.com/connect/oauth2/sns_authorize 则主要用于个人用户级别的第三方应用获取用户的开放账号信息。这两个 URL 对应了钉钉开放平台不同类型的授权认证流程。

 

7层登录扫码后结果:

qrCode=F0C2AF29-267A-4E60-9EE9-3E33BB54EBE3
&goto=https%3A%2F%2Foapi.dingtalk.com%2Fconnect%2Foauth2%2Fsns_authorize%3Fappid%3Ddinghlebinyrgy8tmrva%26response_type%3Dcode%26scope%3Dsnsapi_login%26state%3Dsaml_idp_5ecedaa8-d830-40c5-8c88-6b397acaca02%26redirect_uri%3Dhttps%3A%2F%2Fidp.pre.eagleyun.cn%2FdingtalkLogin&pdmToken=G27F360C936FD2BEDA5FAC24A0358200674CCD2&bizScene=http_third_party&sceneId=dinghlebinyrgy8tmrva

 手机端扫码访问:https://oapi.dingtalk.com/connect/qrcommit?showmenu=false&code=F0C2AF29-267A-4E60-9EE9-3E33BB54EBE3&appid=dinghlebinyrgy8tmrva&redirect_uri=https%3A%2F%2Fidp.pre.eagleyun.cn%2FdingtalkLogin;

手机访问的code其实就是qrcode,用于表明提交了。

 

 

 
Q:    https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid=dinghlebinyrgy8tmrva&response_type=code&scope=snsapi_login&state=saml_idp_602d5152-fd43-41fc-a6fb-39a9ab552afc&redirect_uri=https://idp.pre.eagleyun.cn/dingtalkLogin&loginTmpCode=158338707d363e52874e455b60ce0935 ;此时浏览器的connect/oauth2/sns_authorize接口作用, loginTmpCode 的作用
A:  在这个 URL 中,https://oapi.dingtalk.com/connect/oauth2/sns_authorize 是用于进行钉钉开放平台的网页授权请求,而 loginTmpCode 参数的作用是临时登录授权码,用于在移动端扫码登录后,将登录状态回传给 PC 端的浏览器。

具体来说:

  • https://oapi.dingtalk.com/connect/oauth2/sns_authorize:是钉钉开放平台的网页授权请求的 URL。

参数:

  • appid=dinghlebinyrgy8tmrva:表示第三方应用的唯一标识符(App ID)。

  • response_type=code:表示要求返回的授权码(Authorization Code),用于后续换取用户的 Access Token。

  • scope=snsapi_login:表示授权类型为钉钉登录,用于获取用户基本信息。

  • state=saml_idp_602d5152-fd43-41fc-a6fb-39a9ab552afc:表示用于防止 CSRF 攻击的参数,用于验证请求的合法性。

  • redirect_uri=https://idp.pre.eagleyun.cn/dingtalkLogin:表示用户同意授权后,将重定向到的回调地址,即授权成功后将授权码传递到该地址。

  • loginTmpCode=158338707d363e52874e455b60ce0935:这是一个临时登录授权码,它的作用是在移动端扫码登录成功后,将登录状态回传给 PC 端的浏览器。通常情况下,PC 端浏览器通过这个临时授权码来识别用户的登录状态,然后可以进行相应的处理,例如展示登录成功的提示、加载用户相关信息等。

 

钉钉内免登第三方网站

https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid=APPID&response_type=code&scope=snsapi_auth&state=STATE&redirect_uri=REDIRECT_URI
 使用钉钉账号登录第三方网站
https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid=APPID&response_type=code&scope=snsapi_login&state=STATE&redirect_uri=REDIRECT_URI
 
  • 含义:scope 参数设置为 snsapi_login 时,表示该授权请求是为了实现钉钉账号的免密登录。这通常用于网页上的钉钉扫码登录功能,允许用户通过扫描二维码使用钉钉账号安全登录第三方网站或应用。
  • 应用场景: 主要用于第三方网站或应用实现钉钉账号免密登录,提高用户登录的便捷性和安全性。用户扫码后无需输入账号密码,即可完成登录流程。

scope=snsapi_auth

  • 含义:scope 参数设置为 snsapi_auth 时,这表示请求的是一个更基础的授权,通常用于获取用户的身份标识(不包括敏感信息)。具体可访问的信息范围取决于钉钉开放平台的具体策略和权限设置。
  • 应用场景: 主要用于需要识别用户身份但不需要用户进行操作(如扫码登录)的场景。比如,只需用户同意授权,第三方应用就能获取用户的基本身份信息进行识别,而无需进行复杂的登录流程。

 

 

后端钉钉调用扫码
https://oapi.dingtalk.com/connect/qrconnect?appid=%s&response_type=code&scope=snsapi_login&state=%s&redirect_uri=%s
// 账号密码登录
https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid=%s&response_type=code&scope=snsapi_login&state=%s&redirect_uri=%s
后台构造扫码链接,直接跳转到微信内置的扫码页面
https://open.work.weixin.qq.com/wwopen/sso/qrConnect?appid=%s&agentid=%s&state=%s&redirect_uri=%s

 

posted @ 2024-03-24 12:12  codestacklinuxer  阅读(31)  评论(0编辑  收藏  举报