第三方登录(钉钉篇)
-
用户想登录一个第三方应用:用户在第三方应用的登录页面上,选择使用钉钉账号来登录。
-
请求钉钉授权登录:第三方应用会先向钉钉的服务器发起请求,说“嘿,有个用户想用钉钉账号登录我们应用,能给个授权不?”
-
请求用户登录确认:钉钉服务器会告诉第三方应用,“好的,我需要用户确认一下”。
-
用户登录确认授权:第三方应用把用户带到钉钉的登录页面,用户在这里输入账号密码,或者用已有的登录状态确认登录。
-
拉起三方应用或重定向到三方带上auth_code:用户确认登录后,钉钉会生成一个授权码
auth_code
,然后把用户带回到第三方应用,并且带上这个授权码。 -
根据auth_code换取访问Token:第三方应用拿到
auth_code
后,会再次请求钉钉服务器,说“我用这个auth_code
来换访问Token”。 -
调用接口得到访问Token:钉钉服务器收到请求后,会验证
auth_code
,如果没问题,就会发放一个访问Token给第三方应用。 -
返回Token:钉钉服务器返回访问Token,这个Token是给第三方应用的,用来证明用户已经授权。
-
调用业务接口:第三方应用拿到Token后,就可以用这个Token去请求钉钉服务器上的业务接口,比如获取用户信息等。
-
返回业务数据:钉钉服务器验证Token无误后,就会返回用户信息等业务数据给第三方应用。
总结:
整个流程就是这样:用户点击第三方应用的登录按钮,然后跳到钉钉进行身份确认,确认后钉钉会给第三方应用一个授权码,第三方应用拿授权码去换访问Token,最后用Token去获取用户信息等数据。
简单来说,这个过程就像是用户拿着一张特殊的通行证(Token),先去钉钉的门卫(服务器)那里登记,门卫确认无误后,就让用户进入(授权),然后用户就可以在钉钉的地盘(业务接口)上自由活动(获取数据)了。