Class: Keywright::UserInfoRequest
- Defined in:
- lib/keywright/user_info_request.rb
Instance Method Summary collapse
-
#submit(**arguments) ⇒ Object
The submit method makes a request to retrieve the OIDC userinfo given an access token.
Methods inherited from Request
Constructor Details
This class inherits a constructor from Keywright::Request
Instance Method Details
#submit(**arguments) ⇒ Object
The submit method makes a request to retrieve the OIDC userinfo given an access token.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/keywright/user_info_request.rb', line 7 def submit( **arguments ) access_token = arguments[ :access_token ] raise ArgumentError.new( 'An access token is required.' ) if access_token.nil? userinfo_uri = arguments[ :userinfo_uri ] || @configuration[ :userinfo_uri ] raise ArgumentError.new( 'The userinfo uri must be provided or configured.' ) \ unless UriHelpers.valid?( userinfo_uri ) response = Keywright.connection.get( userinfo_uri ) do | request | request.headers[ 'Authorization' ] = "Bearer #{access_token}" yield( request ) if block_given? end body = JSON.parse( response.body, symbolize_names: true ) rescue nil result = nil if response.success? result = UserInfoResult.new( body ) else result = ErrorResult.new( response.status, body ) end ResponseMethods.install( response, result ) end |