您的位置:首页 > 教育 > 培训 > 钉钉统一授权登录第三方网站

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

2024/10/6 14:37:35 来源:https://blog.csdn.net/wujialaoer/article/details/139444859  浏览:    关键词:钉钉统一授权登录第三方网站

开发流程

  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需要是当前用户所在的组织。
    exclusiveLogintrue表示专属帐号登录,展示组织代码输入页。
    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"}

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com