class OmniAuth::Strategies::Twinfield
Twinfield
OmniAuth
Strategy; follows OmniAuth::Strategies::OAuth2’s base strategy
Private Class Methods
validate_token(token)
click to toggle source
Can’t do a JWT token validation in absence of verification keys
# File lib/omniauth/strategies/twinfield.rb, line 82 def validate_token(token) uri = URI.parse("https://login.twinfield.com/auth/authentication/connect/accesstokenvalidation?token=#{token}") http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Get.new(uri) http_response = http.request(request) response = JSON.parse(http_response.body) raise InvalidToken, response["Message"] if response["Message"] response end
Public Instance Methods
build_access_token()
click to toggle source
# File lib/omniauth/strategies/twinfield.rb, line 57 def build_access_token verifier = request.params["code"] data = { headers: authorization_header, code: verifier, redirect_uri: callback_url.split(/\?/)[0], grant_type: "authorization_code" } client.auth_code.get_token(verifier, data) end
info()
click to toggle source
# File lib/omniauth/strategies/twinfield.rb, line 45 def info raw_info end
raw_info()
click to toggle source
# File lib/omniauth/strategies/twinfield.rb, line 53 def raw_info @raw_info ||= self.class.validate_token(access_token.token) end
refresh_token()
click to toggle source
# File lib/omniauth/strategies/twinfield.rb, line 49 def refresh_token access_token.to_hash[:refresh_token] end
request_phase()
click to toggle source
# File lib/omniauth/strategies/twinfield.rb, line 37 def request_phase redirect client.auth_code.authorize_url({ redirect_uri: callback_url }.merge(authorize_params)) end
uid()
click to toggle source
# File lib/omniauth/strategies/twinfield.rb, line 41 def uid raw_info["sub"] end