OAuth2.0 四种授权模式

OAuth2.0简单笔记(四种授权模式)

金天:坚持写东西,不是一件容易的事,换句话说其实坚持本身都不是一件容易的事。如果学习有捷径,那就是不断实践,不断积累。写笔记,其实是给自己看的,是体现积累的一种方式,要坚持。

 

OAuth2.0已经大行其道,本文仅仅作为个人备忘记录。

 

作为OAuth2.0客户端,需要注意一下几点:

1. OAuth2.0 Server Side支持几种授权方式

2. 作为用户OAuth2.0的客户端, 你打算使用那种授权方式

 

一直提倡看官方文档一手文档,如果想对OAuth2.0有比较透彻的理解,他的规范RFC是必看的,虽然母语为非英语,还是建议新手可以看看原汁原味的OAuth2.0 的RFC是怎么写。克服不必要的恐惧或者懒惰,看多了,自能领会看一手文档的好处。

四种授权模式:

1. 授权码(认证码)模式 (Authorization code) response_type=code

2. 简化(隐形)模式 (Impilict) response_type=token

3. 用户名密码模式 (Resource Owner Password Credential) grant_type=password

4. 客户端模式 (Client Credential) grant_type=client_credential

 

OAuth2.0的核心既是取得access_token,四种授权模式殊途同归,最终都是要取得access_token,只是路径不同,参数不同,具体可以参考RFC.

 

另外下面推荐了两个OAuth2.0服务端的实现,一个是PHP,一个是.NET的,笔者用这两种语言最多,特意找了这个实现比较完备的解决方案。实践是学习的捷径,跟智商没有太大关系。

[RFC]http://tools.ietf.org/html/rfc6749

[PHP]https://github.com/thephpleague/oauth2-server

[.NET]https://github.com/cplate/oauth2

posted @ 2016-02-14 17:28  金天笔记  阅读(14796)  评论(0编辑  收藏  举报