Oauth是一个关于授权的开放网络标准,Oauth2是其2.0版本。

    我们最常见的授权模式是用户名/密码授权。网站通过这组信息证明“你是你”。那么如果你想其他人和你共享权限呢?直接告诉他用户名和密码你肯定是不愿意的,所以就产生了授权。

    授权解决的核心问题是让第三方能够在一定时间、一定范围内共享你的权限。使用的方式就是令牌(token)。
    所以授权的关键是如何给他发放令牌(token)。

    授权的维度:

    • 时间:有效期是多久
    • 范围:能够访问哪些资源

    参与的对象:

    • 资源所有者:我
    • 客户端:他人
    • 平台:平台

    Oauth2的四种授权方式:

    • 授权码
    • 隐藏式
    • 密码式
    • 客户端凭证

    第三方应用在申请令牌前,需要先进行备案,获取app_id和app_secret。

    对于开放平台的这个应用场景来说,oauth2主要是提供了更精细的权限控制,因为资源所有者和客户端上均来自开发者。