关于开放平台的OAuth2.0认证

简介:

我是通过点点网了解到OAuth2.0的,点点网关于OAuth的介绍是:OAuth 2.0是在2006年设计的OAuth协议的下一个版本, 2.0版本更注重于客户端开发的简易性,同时给Web,桌面,移动等平台给予支持,它是基于OAuth WRAP开放的一套安全认证的流程。

OAuth2.0的授权认证流程如下图:

A:客户端发起授权请求

B:资源的拥有者返回允许授权的应答

C:客户端向授权服务器发出认证授权的请求

D:认证通过,授权服务器会返回一个包含Access Token的应答,该应答中应包含Access Token

E:客户端根据D中得到的Access Token向资源服务器发送访问请求

F:资源服务器返回资源。

 

以上只是个人的简单理解,只做参考。

 

关于OAuth 2.0的认证流程,根据官方的说法,总共有4种:

1. Authorization Code

这是基于网页的授权方式。客户端在请求验证前,需要先将浏览器跳转到用户授权页面,用户在登陆并确认授权后将浏览器Redirect到获得ClientID是注册的回调地址。这个地址中包含一个code参数。用户根据该参数请求服务器获得Access Token。

该认证授权流程包含了图片中的所有步骤。

2.Implicit

这是一种适合JS等网页语言使用的认证方式,这种认证方式比较简单,值包含图片中的A、B、C和D几个步骤。首先将页面引导至用户授权页面,用户授权后直接跳转到回调地址,并将Access Token作为地址参数传递给页面,方便脚本语言(JS)的访问。

3.Resource Owner Password Credentials

这是一种比较大的信任授权方式,前提条件是用户对你的应用有绝对的信任,愿意在你的应用(Client)中输入自己的用户名和密码。客户端通过用户名和密码进行验证,并得到Access Token。由于这种方式需要用户的绝对信任,并且需要客户端程序开发人员有比较强的自律和职业操守,所以这种方式经常不被推荐。

4.Client Credentials

对于不需要用户登陆就可以访问的资源,可以通过这种方式进行授权。这种授权方式只包含C、D、E和F几个步骤。

 

关于 Refresh Token

正常情况下,我们在获得了Access Token后就可以对受保护的资源进行访问。但是 Access Token的声明周期比较短(通常为10分钟),当Access Token到期后,我们可以通过使用Refresh Token重新获得Access Token。

每一个Refresh Token可以使用一次,在重新获得Access Token时,Refresh Token 也会被重新获得。




本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/archive/2012/11/29/2794381.html,如需转载请自行联系原作者

相关文章
|
数据安全/隐私保护
关于 OAuth 2.0 统一认证授权
随着互联网的巨头大佬逐渐积累了海量的用户与数据,用户的需求越来越多样化,为了满足用户在不同平台活动的需求,平台级的厂商则需要以接口的形式开放给第三方开发者,这样满足了用户的多样性需求,也可以让自己获得利益,让数据流动起来,形成给一个良性的生态环境,最终达到用户、平台商、第三方开发者共赢。
2828 0
|
3月前
|
存储 数据安全/隐私保护 开发者
SpringSecurity+OAuth2.0 搭建认证中心和资源服务中心
OAuth 2.0(开放授权 2.0)是一个开放标准,用于授权第三方应用程序访问用户在资源所有者(用户)的帐户上存储的受保护资源,而无需共享用户凭据。OAuth 2.0 主要用于在互联网上安全地委托授权,广泛应用于身份验证和授权场景。
106 1
|
5月前
|
移动开发 算法 编译器
OAUTH之 钉钉第三方授权登录
OAUTH之 钉钉第三方授权登录
268 0
|
5月前
|
存储 安全 Java
接入OAuth2
接入OAuth2
48 0
|
安全 测试技术 API
基于Oauth2.0的第三方账号登录实现
​ 基于 Oauth 2.0 的第三方账号登录实现 Oauth 2.0 原理与授权流程 1.刚开始的第三方应用接入其他账号登录过程: ​ 2.使用oauth改进的原理: ​ 3.使用oauth实现的具
198 1
|
数据安全/隐私保护
,基于JWT和OAuth2.0应用接入第三方统一认证服务
一套应用服务,有自己的独立登录接口,独立认证服务(JWT认证),独立用户等,需要接入第三方的统一认证系统,实现用户统一登录;
243 0
,基于JWT和OAuth2.0应用接入第三方统一认证服务
|
数据安全/隐私保护
|
XML 安全 C++
认证与授权——单点登录协议盘点:OpenID vs OAuth2 vs SAML
无论是Web端还是移动端,现在第三方应用账户登录已经成为了标配,任意打开个网站都可以看到,QQ/微信账号登录的字样。使用第三方账户的登录的过程,既要限制用户身份只让有效注册用户才能登录,还要根据注册用户的不同身份来控制能浏览的内容,这就需要认证和授权 相关文章链接: OAuth2.
2093 0
|
负载均衡 Kubernetes 容器
统一认证中心 Oauth2 认证坑
统一认证Oauth2的认证完美填坑
|
文字识别 计算机视觉
一文告诉你什么是实人认证!
实人认证服务是指依托活体检测、人脸比对等生物识别技术、证件OCR识别技术等进行的自然人真实身份的校验服务。
1342 0
一文告诉你什么是实人认证!