class Twimock::API::OAuth
OAuthでブラウザ認証するAPI GET api.twimock.com/authenticate?oauth_token=xxx
認証キャンセル後の画面を返すAPI POST api.twimock.com/oauth/authorize
OAuthでブラウザ認証するAPI GET api.twimock.com/authenticate?oauth_token=xxx
Twitter OAuth
で利用するAPI Request Token を発行する
Public Class Methods
new(app)
click to toggle source
# File lib/twimock/api/oauth.rb, line 13 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/twimock/api/oauth.rb, line 17 def call(env) @app.call(env) end
Private Instance Methods
called?(env)
click to toggle source
# File lib/twimock/api/oauth.rb, line 44 def called?(env) request = Rack::Request.new(env) request.request_method == self.class::METHOD && request.path == self.class::PATH end
generate_error_response(status)
click to toggle source
# File lib/twimock/api/oauth.rb, line 76 def generate_error_response(status) error_code = @error.class.to_s.split("::").last body = { error: { code: error_code } }.to_json header = { "Content-Type" => "application/json; charset=utf-8", "Content-Length" => body.bytesize.to_s } [ status, header, [ body ] ] end
internal_server_error()
click to toggle source
# File lib/twimock/api/oauth.rb, line 53 def internal_server_error generate_error_response(500) end
query_string_to_hash(query_string)
click to toggle source
# File lib/twimock/api/oauth.rb, line 71 def query_string_to_hash(query_string) ary = URI.decode(query_string).split("&").inject([]){|a, s| a << s.split("=")} Hashie::Mash.new(Hash[ary]) end
validate_access_token(access_token_string, application_id)
click to toggle source
# File lib/twimock/api/oauth.rb, line 36 def validate_access_token(access_token_string, application_id) return false if access_token_string.blank? return false unless access_token = Twimock::AccessToken.find_by_string(access_token_string) return false unless access_token.application_id return false unless access_token.application_id == application_id true end
validate_consumer_key(consumer_key)
click to toggle source
# File lib/twimock/api/oauth.rb, line 23 def validate_consumer_key(consumer_key) return false if consumer_key.blank? return false unless application = Twimock::Application.find_by_api_key(consumer_key) true end
validate_request_token(request_token)
click to toggle source
# File lib/twimock/api/oauth.rb, line 29 def validate_request_token(request_token) return false if request_token.blank? return false unless request_token = Twimock::RequestToken.find_by_string(request_token) return false unless request_token.application_id true end