class FIS::Auth::Client
OAuth2 + PKCE helper class for authenticating against portal.flatironschool.com
Constants
- CODE_CHALLENGE_METHOD
Public Class Methods
new()
click to toggle source
# File lib/fis/auth/client.rb, line 12 def initialize @client = OAuth2::Client.new( Auth::CLIENT_ID, nil, site: Auth::PROVIDER_URL, redirect_uri: Auth::REDIRECT_URI ) end
Public Instance Methods
get_token(code:)
click to toggle source
# File lib/fis/auth/client.rb, line 28 def get_token(code:) @client.auth_code.get_token(code, code_verifier: code_verifier) end
Private Instance Methods
code_challenge()
click to toggle source
# File lib/fis/auth/client.rb, line 34 def code_challenge padded_result = Base64.urlsafe_encode64(Digest::SHA256.digest(code_verifier)) padded_result.split('=')[0] # Remove trailing '=' end
code_verifier()
click to toggle source
# File lib/fis/auth/client.rb, line 39 def code_verifier @code_verifier ||= SecureRandom.hex(128) end