Class: SMART_UDAP_HarmonizationTestKit::SMART_UDAP_RequestBuilder
- Inherits:
-
Object
- Object
- SMART_UDAP_HarmonizationTestKit::SMART_UDAP_RequestBuilder
- Defined in:
- lib/smart_udap_harmonization_test_kit/smart_udap_request_builder.rb
Overview
rubocop:disable Naming/ClassAndModuleCamelCase
Class Method Summary collapse
-
.build_token_refresh_request(client_assertion_jwt, refresh_token, requested_scopes) ⇒ Object
Client MUST authenticate to auth server during token refresh per RFC 6749 Section 6 datatracker.ietf.org/doc/html/rfc6749#section-6 Assuming auth mechanism is same as it was for token exchange, i.e., signed client assertion JWT.
Class Method Details
.build_token_refresh_request(client_assertion_jwt, refresh_token, requested_scopes) ⇒ Object
Client MUST authenticate to auth server during token refresh per RFC 6749 Section 6 datatracker.ietf.org/doc/html/rfc6749#section-6 Assuming auth mechanism is same as it was for token exchange, i.e., signed client assertion JWT
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/smart_udap_harmonization_test_kit/smart_udap_request_builder.rb', line 9 def self.build_token_refresh_request(client_assertion_jwt, refresh_token, requested_scopes) token_refresh_headers = { 'Accept' => 'application/json', 'Content-Type' => 'application/x-www-form-urlencoded' } token_refresh_body = { 'grant_type' => 'refresh_token', 'refresh_token' => refresh_token, 'scope' => requested_scopes, 'client_assertion_type' => 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer', 'client_assertion' => client_assertion_jwt, 'udap' => '1' }.compact [token_refresh_headers, URI.encode_www_form(token_refresh_body)] end |