定义

    OAuth在第三方应用与服务提供商之间设置了一个授权层。

    第三方应用不能直接登录服务提供商,只能登录授权层,以此将用户与客户端区分开来。

    第三方应用登录授权层所用的令牌,与用户的密码不同。用户可以在登录授权的时候,指定授权层令牌的权限范围和有效期。

    第三方应用登录授权层以后,服务提供商根据令牌的权限范围和有效期,向第三方应用开放用户资源。

    使用场景

    用OAuth来实现第三方应用对我们API的访问控制;
    登录第三方应用(APP 或网页)时,]经常会采用其他用户登录方式,比如QQ,微博,微信的授权登录(QQ用户登录)。

    授权流程

    63 OAuth学习 - 图1

    登录步骤

    1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;
    2. 通过code参数加上AppID和AppSecret等,通过API换取access_token;
    3. 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

    相关案例

    GitHub OAuth 第三方登录示例教程