Module: Baidu::OAuth::Flow::Base
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
此授权流程对应的 OAuth Client 实例.
Instance Method Summary collapse
- #authorize_url(redirect_uri, params = {}) ⇒ Object
- #get_token(code, redirect_uri = nil, params = {}) ⇒ Object
- #initialize(client) ⇒ Object
Instance Attribute Details
#client ⇒ Object (readonly)
此授权流程对应的 OAuth Client 实例
10 11 12 |
# File 'lib/baidu/oauth/flow/base.rb', line 10 def client @client end |
Instance Method Details
#authorize_url(redirect_uri, params = {}) ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/baidu/oauth/flow/base.rb', line 16 def (redirect_uri, params={}) query = .update params query.update({ client_id: self.client.client_id, redirect_uri: redirect_uri }) Util.clean_params query uri = URI(self.client.site) uri.path = uri.query = Util.encode_params(query) unless Util.blank? query uri.to_s end |
#get_token(code, redirect_uri = nil, params = {}) ⇒ Object
26 27 28 29 30 31 32 33 34 |
# File 'lib/baidu/oauth/flow/base.rb', line 26 def get_token(code, redirect_uri=nil, params={}) body = token_body.update params body.update({ client_id: self.client.client_id, client_secret: self.client.client_secret, redirect_uri: redirect_uri, code: code}) rest = self.client.post Baidu::OAuth::TOKEN_ENDPOINT, nil, body return nil if rest.nil? Baidu::Session.from rest end |
#initialize(client) ⇒ Object
12 13 14 |
# File 'lib/baidu/oauth/flow/base.rb', line 12 def initialize(client) @client = client end |