Class: StudyplusForSchoolSync::Authorizer
- Inherits:
-
Object
- Object
- StudyplusForSchoolSync::Authorizer
- Defined in:
- lib/studyplus_for_school_sync/authorizer.rb
Overview
Retrieve Authorization Code
Constant Summary collapse
- OOB_URI =
'urn:ietf:wg:oauth:2.0:oob'
- RESPONSE_TYPE =
"code"
- END_POINT =
"learning_material_supplier_api/v1/oauth/authorize"
- DEFAULT_SCOPES =
%w(learning_material_supplier lms_passcode_issue)
Instance Attribute Summary collapse
-
#base_url ⇒ Object
readonly
Returns the value of attribute base_url.
-
#client_id ⇒ Object
readonly
Returns the value of attribute client_id.
-
#redirect_uri ⇒ Object
readonly
Returns the value of attribute redirect_uri.
-
#scopes ⇒ Object
readonly
Returns the value of attribute scopes.
Instance Method Summary collapse
-
#authorize ⇒ Object
Launch the browser to get the Authorization Code and authorize it.
-
#initialize(base_url:, client_id:, redirect_uri: nil, scopes: DEFAULT_SCOPES) ⇒ Authorizer
constructor
A new instance of Authorizer.
Constructor Details
#initialize(base_url:, client_id:, redirect_uri: nil, scopes: DEFAULT_SCOPES) ⇒ Authorizer
Returns a new instance of Authorizer.
18 19 20 21 22 23 |
# File 'lib/studyplus_for_school_sync/authorizer.rb', line 18 def initialize(base_url:, client_id:, redirect_uri: nil, scopes: DEFAULT_SCOPES) @base_url = base_url @client_id = client_id @redirect_uri = redirect_uri || OOB_URI @scopes = scopes end |
Instance Attribute Details
#base_url ⇒ Object (readonly)
Returns the value of attribute base_url.
12 13 14 |
# File 'lib/studyplus_for_school_sync/authorizer.rb', line 12 def base_url @base_url end |
#client_id ⇒ Object (readonly)
Returns the value of attribute client_id.
12 13 14 |
# File 'lib/studyplus_for_school_sync/authorizer.rb', line 12 def client_id @client_id end |
#redirect_uri ⇒ Object (readonly)
Returns the value of attribute redirect_uri.
12 13 14 |
# File 'lib/studyplus_for_school_sync/authorizer.rb', line 12 def redirect_uri @redirect_uri end |
#scopes ⇒ Object (readonly)
Returns the value of attribute scopes.
12 13 14 |
# File 'lib/studyplus_for_school_sync/authorizer.rb', line 12 def scopes @scopes end |
Instance Method Details
#authorize ⇒ Object
Launch the browser to get the Authorization Code and authorize it.
26 27 28 29 |
# File 'lib/studyplus_for_school_sync/authorizer.rb', line 26 def query = URI.encode_www_form({ client_id: client_id, response_type: RESPONSE_TYPE, redirect_uri: redirect_uri, scope: scopes.join(" ") }) Launchy.open(build_url(query)) end |