理解OAuth 2.0

客户端的授权模式

客户端必须得到用户的授权(authorization grant),才能获得令牌(access token)。OAuth 2.0定义了四种授权方式。

  • 授权码模式(authorization code)最完整、流程最严密的授权模式,如GitHub、微信等网站第三方登录方式
  • 简化模式(implicit)
  • 密码模式(resource owner password credentials)如目前手机APP中使用此模式
  • 客户端模式(client credentials)

http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html

 

OAuth 核心 1.0 版 中文翻译版

OAuth 核心 1.0
Abstract
OAuth协议致力于使网站和应用程序(统称为消费方)能够在无须用户透露其认证证书的情况下,通过API访问某个web服务(统称为服务提供方)的受保护资源。更一般地说,OAuth为API认证提供了一个可自由实现且通用的方法。

一个典型的例子是某打印服务提供商printer.example.com(消费方),希望在无须用户提供其照片存储站点密码的情况下,访问用户储存在photos.example.net(服务提供方)上的个人照片。

OAuth不强求一个特定的用户接口或操作模式,也不限定服务提供方如何验证用户,特别适合认证证书对消费方不可用的情况,例如OpenID。 Continue reading