Class: CivicSIPSdk::Client
- Inherits:
-
Object
- Object
- CivicSIPSdk::Client
- Defined in:
- lib/civic_sip_sdk/client.rb
Constant Summary collapse
- BASE_URL =
'https://api.civic.com/sip'
- AUTH_CODE_PATH =
'scopeRequest/authCode'
- PUBLIC_HEX =
'049a45998638cfb3c4b211d72030d9ae8329a242db63bfb0076a54e7647370a8ac5708b57af6065805d5a6be72332620932dbb35e8d318fce18e7c980a0eb26aa1'
- MIMETYPE_JSON =
'application/json'
- ENV_VAR =
'CIVIC_SIP_SDK_ENV'
- TEST_ENV =
'test'
- HTTP_REQUEST_METHOD =
'POST'
Instance Method Summary collapse
-
#exchange_code(jwt_token:) ⇒ CivicSIPSdk::UserData
Exchange authorization code in the form of a JWT Token for the user data requested in the scope request.
-
#initialize(config:) ⇒ Client
constructor
Creates a client.
Constructor Details
Instance Method Details
#exchange_code(jwt_token:) ⇒ CivicSIPSdk::UserData
Exchange authorization code in the form of a JWT Token for the user data requested in the scope request.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/civic_sip_sdk/client.rb', line 34 def exchange_code(jwt_token:) json_body_str = JSON.generate('authToken' => jwt_token) response = HTTParty.post( "#{BASE_URL}/#{@config.env}/#{AUTH_CODE_PATH}", headers: { 'Content-Type' => MIMETYPE_JSON, 'Accept' => MIMETYPE_JSON, 'Content-Length' => json_body_str.size.to_s, 'Authorization' => (body: json_body_str) }, body: json_body_str ) unless response.code == 200 raise StandardError.new( "Failed to exchange JWT token. HTTP status: #{response.code}, response body: #{response.body}" ) end res_payload = JSON.parse(response.body) extract_user_data(response: res_payload) end |