Class: Baidu::OAuth::Flow::Code
- Inherits:
-
Object
- Object
- Baidu::OAuth::Flow::Code
- Includes:
- Base
- Defined in:
- lib/baidu/oauth/flow/code.rb
Overview
采用Authorization Code获取Access Token的授权验证流程又被称为Web Server Flow,适用于所有有Server端的应用,如Web/Wap站点、有Server端的手机/桌面客户端应用等。
Instance Attribute Summary
Attributes included from Base
Instance Method Summary collapse
-
#authorize_url(redirect_uri, params = {}) ⇒ String
获取 Authorization URL.
-
#get_token(code, redirect_uri) ⇒ Baidu::Session
通过 Device Code 来获取 Access Token.
Methods included from Base
Instance Method Details
#authorize_url(redirect_uri, params = {}) ⇒ String
获取 Authorization URL
50 51 52 53 54 55 |
# File 'lib/baidu/oauth/flow/code.rb', line 50 def (redirect_uri, params={}) opts = {}.update(params) opts.update({ force_login: 1 }) if params[:force_login] opts.update({ confirm_login: 1 }) if params[:confirm_login] super redirect_uri, opts end |
#get_token(code, redirect_uri) ⇒ Baidu::Session
Note:
每一个 Authorization Code 的有效期为10分钟,并且只能使用一次,再次使用将无效。
通过 Device Code 来获取 Access Token
如果用户在此页面同意授权,授权服务则将重定向用户浏览器到应用所指定的“redirect_uri”,并附带上表示授权服务所分配的 Authorization Code 的 code
参数,以及 state 参数(如果请求authorization code时带了这个参数)。
28 |
# File 'lib/baidu/oauth/flow/code.rb', line 28 def get_token(code, redirect_uri); super end |