钉钉统一授权登录第三方网站

开发流程

  1. 配置回调域名

    1. 进入已创建的应用详情页,在基础信息页面可以查看到应用的SuiteKey/SuiteSecret(第三方企业应用)或AppKey/AppSecret(企业内部应用)

      img

    2. 在应用详情页,然后单击钉钉登录与分享,添加应用回调的URL,以http或https开头。

      img

  2. 权限管理,点击个人权限,申请个人手机号信息权限通讯录个人信息读权限。

    img

  3. 构造登录页面。

    说明 登录页面在初次校验登录状态时显示。

    https://login.dingtalk.com/oauth2/auth?	
    redirect_uri=https%3A%2F%2Fwww.aaaaa.com%2Fa%2Fb	
    &response_type=code	
    &client_id=dingxxxxxxx  //应用的AppKey 	
    &scope=openid  //此处的openId保持不变	
    &state=dddd
    &prompt=consent
    
    参数 是否必填 说明
    redirect_uri 授权通过/拒绝后回调地址。注意需要与开发者后台钉钉登录与分享的地址保持一致。
    response_type 固定值为code。授权通过后返回authCode。
    client_id 步骤一中创建的应用详情中获取。企业内部应用:client_id为应用的AppKey。第三方企业应用:client_id为应用的SuiteKey。
    scope 授权范围,授权页面显示的授权信息以应用注册时配置的为准。当前只支持两种输入:openid:授权后可获得用户useridopenid corpid:授权后可获得用户id和登录过程中用户选择的组织id,空格分隔。注意url编码。
    state 跟随authCode原样返回。
    prompt 值为consent时,会进入授权确认页。
    org_type 控制输出特定类型的组织列表,org_type=management 表示只输出有管理权限的组织。注意scope包含corpid时该参数存在意义。
    corpId 用于指定用户需要选择的组织。注意scope包含corpid时该参数存在意义。传入的corpId需要是当前用户所在的组织。
    exclusiveLogin true表示专属帐号登录,展示组织代码输入页。
    exclusiveCorpId 开启了专属帐号功能的组织corpId。注意exclusiveLogin为true时该参数存在意义,表示直接进入该组织的登录页。

    img

    img

  4. 登录后,打开授权页面。

    说明 首次授权时,显示授权页面

  5. 单击同意,触发以下流程。

(1)点击同意后,钉钉在url返回authCode。如下图所示。

img

(2)根据authCode,调用服务端获取用户token接口,获取用户个人token。

(3)根据用户个人token,调用获取用户通讯录个人信息接口,实现获取用户个人信息。

{
	 "nick": "zhangsan",
	 "avatarUrl": "https://xxx",
	 "mobile": "150xxxx9144",
	 "openId": "123",
	 "unionId": "z21HjQliSzpw0Yxxxx",
	 "stateCode": "86"
	}

参考 统一授权登录第三方网站

相关推荐

  1. vue+Django接入登录

    2024-06-10 00:06:03       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-10 00:06:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-10 00:06:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-10 00:06:03       82 阅读
  4. Python语言-面向对象

    2024-06-10 00:06:03       91 阅读

热门阅读

  1. Facebook开户 | 创建有效的Facebook广告文案策略

    2024-06-10 00:06:03       32 阅读
  2. C语言每日一题——分数加减(以最简形式输出)

    2024-06-10 00:06:03       28 阅读
  3. 面试 Redis 八股文十问十答第五期

    2024-06-10 00:06:03       32 阅读
  4. ZeroMq传输视频的几种方案

    2024-06-10 00:06:03       38 阅读
  5. 【面试宝藏】MySQL 面试题解析

    2024-06-10 00:06:03       33 阅读
  6. css文本超长溢出显示省略号 ...

    2024-06-10 00:06:03       25 阅读
  7. 贪心算法05(leetcode435,763,56)

    2024-06-10 00:06:03       32 阅读
  8. 前端学习笔记

    2024-06-10 00:06:03       28 阅读
  9. Web前端的工作内容:深度解析与探索

    2024-06-10 00:06:03       30 阅读
  10. ubuntu, esp-idf, arduino

    2024-06-10 00:06:03       31 阅读
  11. Golang time CST以及UTC介绍

    2024-06-10 00:06:03       25 阅读