钉钉内免登陆第三方网站(非H5微应用等)

1,560 阅读1分钟

一. 钉钉内免登第三方网站指用户在钉钉客户端内点击H5网站链接时,无需输入账号密码系统自动获取正在访问用户钉钉身份。

1. 注意:

  1. 此H5网站并不是钉钉客户端内使用的企业/第三方企业应用.
  2. 此功能与企业自建应用/第三方企业应用无关,并且不是钉钉内的应用免登,此流程只能做到获取到用户身份(无手机号和企业相关信息)。
2. 流程:
    1. 首先判断当前环境是否是钉钉环境; if (dd.env.platform == 'notInDingTalk') { // 非钉钉环境下的操作 }else{ // 钉钉环境下的操作 }
  • 2 获取appId及appSecret a. 登录开发者后台,选择应用开发 > 移动接入应用 > 登录,然后单击创建扫码登录应用授权,创建用于免登过程中验证身份的appId及appSecret,创建后即可看到appId和appSecret b. 构造跳转连接: let url = 'https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid='+${_config.appid}+'&response_type=code&scope=snsapi_auth&state=STATE&redirect_uri='+${localUrl} `
参数说明
appid创建的登录应用的appid。(必填)
redirect_uri重定向地址(需要urlencode编码),该地址所在域名需要配置为appid对应的安全域名。(必填)
state用于防止重放攻击,开发者可以根据此信息来判断redirect_uri只能执行一次来避免重放攻击。
response_type固定值为code。(必填)
scope取值为snsapi_auth,snsapi_auth用于钉钉容器外获取用户授权。(必填)
    1. 调用后端登录接口