Module: IdpSdkRuby

Defined in:
lib/idp_ruby.rb,
lib/idp_ruby/version.rb

Defined Under Namespace

Classes: Client, ExtractionTaskClient, FileType, IDPConfigurationException, IDPException, Task, TaskResult, TaskResultField

Constant Summary collapse

VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.oauthutil(region: nil, authorization: nil) ⇒ Object



229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
# File 'lib/idp_ruby.rb', line 229

def IdpSdkRuby.oauthutil(region:nil, authorization:nil)
    if authorization.nil?
        raise IDPConfigurationException.new('Authorization is required')
    end
    if ["test", "sea"].count {|x|x==region} == 0
        raise IDPConfigurationException.new(
                "Region is required and limited in ['test','sea']")
    end
    if region === 'test'
           region = '-onp'
    else
           region = '-'+region
    end
    url_post = "https://oauth"+region + \
            ".6estates.com/oauth/token?grant_type=client_bind"
    
    headers = {"Authorization" => authorization}
  
    r = JSON.parse(RestClient.post(url_post, nil, headers))
    if r['status'] != 200
        raise IDPException.new(r['message'])
        return 
    end

    if r['data']['expired']
        raise IDPException.new("This IDP Authorization is expired, please re-send the request to get new IDP Authorization.")
    end
    return r['data']['value']
end