Class: PandaPal::Platform::Canvas
Defined Under Namespace
Modules: OrgExtension
Constant Summary
collapse
- TRUSTED_ISSUERS =
[
"https://sso.canvaslms.com",
"https://sso.beta.canvaslms.com",
"https://sso.test.canvaslms.com",
"https://sso.loadtest.instructure.com",
"https://canvas.instructure.com",
"https://canvas.beta.instructure.com",
"https://canvas.test.instructure.com",
]
Instance Method Summary
collapse
deserialize, find_org_setting, from_serialized, organization_api, #public_jwks, resolve_platform, resolve_platform_class, resolve_raw_platform
Constructor Details
#initialize(options) ⇒ Canvas
Returns a new instance of Canvas.
20
21
22
|
# File 'app/models/panda_pal/platform/canvas.rb', line 20
def initialize(options)
@issuer = options[:iss]
end
|
Instance Method Details
#authentication_redirect_url ⇒ Object
32
33
34
|
# File 'app/models/panda_pal/platform/canvas.rb', line 32
def authentication_redirect_url
"#{lti_api_domain}/api/lti/authorize_redirect"
end
|
#grant_url ⇒ Object
36
37
38
|
# File 'app/models/panda_pal/platform/canvas.rb', line 36
def grant_url
"#{lti_api_domain}/login/oauth2/token"
end
|
#is_trusted_env? ⇒ Boolean
40
41
42
43
44
|
# File 'app/models/panda_pal/platform/canvas.rb', line 40
def is_trusted_env?
return true unless Rails.env.production?
TRUSTED_ISSUERS.include?(platform_uri)
end
|
#jwks_url ⇒ Object
28
29
30
|
# File 'app/models/panda_pal/platform/canvas.rb', line 28
def jwks_url
"#{lti_api_domain}/api/lti/security/jwks"
end
|
24
25
26
|
# File 'app/models/panda_pal/platform/canvas.rb', line 24
def platform_uri
@issuer
end
|
#serialize ⇒ Object
46
47
48
|
# File 'app/models/panda_pal/platform/canvas.rb', line 46
def serialize
super.merge(iss: @issuer)
end
|