-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: enterprise sso orchestrator api client implementation #1871
feat: enterprise sso orchestrator api client implementation #1871
Conversation
""" | ||
get the callback url for the SSO Orchestrator API | ||
""" | ||
lms_base_url = get_configuration_value('LMS_ROOT_URL', settings.LMS_ROOT_URL) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this the correct way to call get_configuration_value
? it doesn't seem correct to me to supply the setting as the default value for when the setting does not exist? perhaps i misunderstand
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's how we've done it in other areas
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
edx-enterprise/enterprise/models.py
Lines 625 to 661 in 426413c
get_configuration_value('LMS_ROOT_URL', settings.LMS_ROOT_URL), | |
reverse( | |
'enterprise_course_enrollment_page', | |
kwargs={'enterprise_uuid': self.uuid, 'course_key': course_key} | |
) | |
) | |
return utils.update_query_parameters(url, utils.get_enterprise_utm_context(self)) | |
def get_course_run_enrollment_url(self, course_run_key): | |
""" | |
Return enterprise landing page url for the given course. | |
Arguments: | |
course_run_key (str): The course run id for the course to be displayed. | |
Returns: | |
(str): Enterprise landing page url. | |
""" | |
url = urljoin( | |
get_configuration_value('LMS_ROOT_URL', settings.LMS_ROOT_URL), | |
reverse( | |
'enterprise_course_run_enrollment_page', | |
kwargs={'enterprise_uuid': self.uuid, 'course_id': course_run_key} | |
) | |
) | |
return utils.update_query_parameters(url, utils.get_enterprise_utm_context(self)) | |
def get_program_enrollment_url(self, program_uuid): | |
""" | |
Return enterprise landing page url for the given program. | |
Arguments: | |
program_uuid (str): The program UUID. | |
Returns: | |
(str): Enterprise program landing page url. | |
""" | |
url = urljoin( | |
get_configuration_value('LMS_ROOT_URL', settings.LMS_ROOT_URL), |
get_sso_orchestrator_basic_auth_password, | ||
) | ||
|
||
class EnterpriseSSOOrchestratorApiClient: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we may still want to extend from something inside edx-rest-api-client (perhaps a version which supports BasicAuth rather than OAuth) so that we benefit from all the nice default addons like custom user-agents which are app aware, request id forwarding, etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't see anything about basic auth in the rest api client but I can double check
6e05ba3
to
ad47129
Compare
ad47129
to
a6a612a
Compare
650df71
to
758b42c
Compare
758b42c
to
bed73d7
Compare
712dccd
to
3f76dde
Compare
3f76dde
to
6160caf
Compare
https://2u-internal.atlassian.net/browse/ENT-7571
Merge checklist:
requirements/*.txt
files)base.in
if needed in production but edx-platform doesn't install ittest-master.in
if edx-platform pins it, with a matching versionmake upgrade && make requirements
have been run to regenerate requirementsmake static
has been run to update webpack bundling if any static content was updated./manage.py makemigrations
has been run./manage.py lms makemigrations
in the shell.Post merge:
(so basically once your build finishes, after maybe a minute you should see the new version in PyPi automatically (on refresh))
make upgrade
in edx-platform will look for the latest version in PyPi.