最近在研究OAuth 2.0的技术,发现网上说的其实挺全面的,但是会给刚接触的服务器端开发者一些迷惘,就是这么多的参数如何用?我仔细理解了一下。
1、申请授权接口(HTTPS请求方式)
请求参数
|
必选
|
类型及范围
|
说明
|
client_id
|
true
|
string
|
申请应用时分配的AppKey。
|
redirect_uri
|
true
|
string
|
授权回调地址,站外应用需与设置的回调地址一致,站内应用需填写canvas
page的地址。
|
response_type
|
false
|
string
|
返回类型,支持code、token,默认值为token。
|
state
|
false
|
string
|
用于保持请求和回调的状态,在回调时,会在Query Parameter中回传该参数。
|
display
|
false
|
string
|
授权页面的终端类型,取值见下面的说明。
|
scope
|
false
|
string
|
以英文逗号’,’分隔的权限列表,若不传递此参数,代表请求默认的basic权限。
|
oauth_version
|
False
|
string
|
(可选)版本号(目前只支持2.0)
|
redirect_uri说明:
应用开发者预先在申请应用时填写的地址,主要用于:当验证通过时,需要返回的页面,比如我开发的应用有一个登录成功的首页,那么用户在授权验证通过后,要回到我的应用的这个首页,那么这个首页的地址就是回调地址,参数state也就是需要传到我的应用首页的参数,这个参数在经过授权服务器(新浪微博)时会原封不动的传给回调地址(也就是我的应用的首页)。如果是移动终端授权,个人认为此参数和state均可以不用,只需要以json方式返回access_token即可
display说明:
参数取值
|
类型说明
|
default
|
默认的授权页面,适用于web浏览器。
|
mobile
|
移动终端的授权页面,适用于支持webView的智能手机。
|
返回数据
response_type为code
返回值字段
|
字段类型
|
字段说明
|
code
|
string
|
用于调用access_token,接口获取授权后的access token。
|
state
|
string
|
如果传递参数,会回传该参数。
|
response_type为token
返回值字段
|
字段类型
|
字段说明
|
access_token
|
string
|
用来调用其它接口的授权过的accesstoken。
|
expires_in
|
string
|
accesstoken有效期时间,unix的timestamp格式。
|
refresh_token
|
string
|
刷新token,如果有获取权限则返回。
|
state
|
string
|
如果传递参数,会回传该参数。
|
示例
response_type为token
//请求
https://api.t.sina.com.cn/oauth2/authorize?client_id=123050457758183&redirect_uri=http://www.example.com/response&response_type=token
//同意授权后会重定向
http://www.example.com/response#access_token=ACCESS_TOKEN&expires_in=250327040&refresh_token=REFRESH_TOKEN
response_type为code
//请求
https://api.t.sina.com.cn/oauth2/authorize?client_id=123050457758183&redirect_uri=http://www.example.com/response&response_type=code
//同意授权后会重定向
http://www.example.com/response&code=CODE
- 大小: 59.6 KB
分享到:
相关推荐
OAuth2.0是OAuth协议的延续版本,但不向前兼容OAuth 1.0(即完全废止了OAuth1.0)。 OAuth 2.0关注客户端开发者的简易性。要么通过组织在资源拥有者和HTTP服务商之间的被批准的交互动作代表用户,要么允许第三方应用...
springboot 集成oauth2.0服务器,基于oauth2.0授权码形式集成
完整Oauth 2.0 代码实现,包含数据库脚本,使用说明,导入数据库脚本,修改数据库配置可直接运行。
通过点击viewbutton获取用户openid,实现方式oauth2.0认证
Spring Security OAuth2.0学习笔记 什么是认证、授权、会话。 Java Servlet为支持http会话做了哪些事儿。 基于session认证机制的运作流程。 基于token认证机制的运作流程。 理解Spring Security的工作原理,Spring ...
基于Owin中间件的OAuth2.0身份认证,文章位置https://blog.csdn.net/u013938578/article/details/82956188
OAUTH2.0+OpenLDAP技术框架,及适用场景,综合价值等PPT文档,可修改!!!
基于Django2.1.2的OAuth2.0授权登录 大学生课程设计 基于Django2.1.2的OAuth2.0授权登录的课程设计 自己大二写的课程设计
cas3.5.0集成oauth2.0协议,模拟cas3.5.0通过oauth2.0协议与集成了coauth2.0的cas进行模拟通信。可以实现 与新浪微博等第三方身份验证平台对接,实现单点登录。
Oauth2.0,第三方登录鉴权验证教程。
OAuth2.0协议原理与实现
spring security oauth2.0 需要的基础 sql 文件
OAuth2.0协议中文版,方便了解OAuth2.0协议
Oauth2.0协议 整合php框架 客户端 服务端授权码模式小demo
Java的oauth2.0 服务端与客户端的实现源码下载,里面两个maven项目:oauthserver和oauthclient01。
OAuth 2.0 in Action OAuth 2.0 in Action OAuth 2.0 in Action OAuth 2.0 in Action OAuth 2.0 in Action
Java的oauth2.0 服务端与客户端的实现.zip 封装了oauth2.0的基本架构和实现,对照我的博客http://blog.csdn.net/jing12062011/article/details/78147306使用该源码。 下载项目压缩包,解压,里面两个maven项目:...
RFC 6749 OAuth 2.0 授权框架 (正式版中文翻译,PDF)