Commit Graph

117 Commits

Author SHA1 Message Date
Syed Sajjad Hussain Shah
67a1401f8a fix: should autogenerate username in tpa pipeline if feature is enabled (#35101) 2024-07-09 08:39:36 +00:00
Navin Karkera
565b34e4e0 feat: allow oauth configuration per site and backend (#32656)
Allows admins to configure same oauth backend for multiple sites.

This change includes site_id in KEY_FIELDS for oauth configuration
provider allowing a backend configuration for each site.
2023-10-10 11:33:23 -04:00
John Nagro
2ca5b01099 fix: better username lookup in tpa pipeline (#33145) 2023-08-31 11:47:01 -04:00
John Nagro
6d5dcdf77a fix: improve username generation (#32613) 2023-06-30 09:47:02 -04:00
Mubbshar Anwar
0ed58f32e7 feat: email linking for SSO (#30258)
Make email linking for SSO as default behavior.
VAN-331
2022-04-26 12:13:43 +05:00
Zainab Amir
a717dfd50e fix: ensure redirect url is whitelisted 2022-02-01 15:10:23 +05:00
Maria Grimaldi
07f88fab4b fix: avoid raising error when auth_entry is None (#29787)
This commit avoids raising AuthEntryError when auth_entry is None.
At some point of the authentication flow, when the auth_entry is
missing from the auth URL (eg. auth/login/tpa-saml/?idp=idp), the
request session stores auth_entry: None causing this edited line to fail
which stops the login from completing.
2022-01-31 14:36:44 -05:00
John Nagro
3873ff7de9 feat: avoid certain strings in the suffix appended to edX usernames (#29524)
ENT-2824
2021-12-13 15:32:51 -05:00
Zaman Afzal
0d7245d346 Removed the waffle switch ENABLE_MULTIPLE_SSO_ACCOUNTS_ASSOCIATION_TO_SAML_USER (#27379) 2021-04-21 13:14:15 +05:00
Nizar Mahmoud
4cb4be6afe feat: associates user by email for oauth when tpa is required
This change associates users signing in using oauth providers when tpa is required, verifying that only a single database user is associated with the email.

For more information as to why this was added in a separate pipeline, check edx-platform#25935.
2021-04-02 11:32:58 +05:00
Waheed Ahmed
f8de211e17 Fix redirection on SSO auth complete.
Since we are handling the MFE redirection in login_and_registration_form()
we don't need to handle it here. It's redirecting the enterprise users to
MFE instead of FE which is currently handled in login_and_registration_form()
view.

VAN-425
2021-03-25 22:16:34 +05:00
Awais Qureshi
8f4491e927 Pyupgrade in common/djangoapps/third-party-modes/ 2021-03-18 11:26:19 +05:00
Waheed Ahmed
817adc299f Add custom attribute for SSO auth_entry.
Added custom for SSO auth entries to monitor which auth entries are
still in use.
2021-03-12 23:29:28 +05:00
Waheed Ahmed
38187de0f9 Authn MFE: Toggle for microfrontend redirect.
VAN-308
2021-02-04 18:58:58 +05:00
Jawayria
7be5a683aa Applied pylint-amnesty to third_party_auth 2021-02-03 13:37:05 +05:00
Zaman Afzal
712a6bcc0c ENT-4034 Added more detail in exception (#26299) 2021-02-02 13:54:20 +05:00
Zaman Afzal
b99a64c385 ENT-3798 Multiple_SSO_Accounts_Association_to_SAML_User (#26170) 2021-02-01 11:44:12 +05:00
adeelehsan
55d2a4f897 Logistration MFE renamed to authn
VAN-300
2021-01-29 11:37:54 +05:00
Ahtisham Shahid
b2466c8c2b Error incase of disabled user social login
Updated status code and manage user func

update auth verification

Fixed auth condition

fixed test failuers

fixed style issues

fixed style issues

Created test for auth disabled use

Code refactor

Fixed form ain auth exchange

Fixed oauth apps with disabled user fail

applied quality fixes

Refactored tests

fixed quality issues

removed extra files

Fixed linter issues

Fixed linter issues
2021-01-06 20:37:01 +05:00
Zainab Amir
2cf023bf27 VAN-92: Update TPA Context with platform name (#25580) 2020-11-13 17:15:53 +05:00
Kyle McCormick
151bd13666 Use full names for common.djangoapps imports; warn when using old style (#25477)
* Generate common/djangoapps import shims for LMS
* Generate common/djangoapps import shims for Studio
* Stop appending project root to sys.path
* Stop appending common/djangoapps to sys.path
* Import from common.djangoapps.course_action_state instead of course_action_state
* Import from common.djangoapps.course_modes instead of course_modes
* Import from common.djangoapps.database_fixups instead of database_fixups
* Import from common.djangoapps.edxmako instead of edxmako
* Import from common.djangoapps.entitlements instead of entitlements
* Import from common.djangoapps.pipline_mako instead of pipeline_mako
* Import from common.djangoapps.static_replace instead of static_replace
* Import from common.djangoapps.student instead of student
* Import from common.djangoapps.terrain instead of terrain
* Import from common.djangoapps.third_party_auth instead of third_party_auth
* Import from common.djangoapps.track instead of track
* Import from common.djangoapps.util instead of util
* Import from common.djangoapps.xblock_django instead of xblock_django
* Add empty common/djangoapps/__init__.py to fix pytest collection
* Fix pylint formatting violations
* Exclude import_shims/ directory tree from linting
2020-11-10 07:02:01 -05:00
zia.fazal@arbisoft.com
647da21191 Apply same username restrictions during SSO pipeline
Apply same username restrictions during SSO pipeline as we have user registeration flow to avoid SSO flow breakage at the time of user creation.
ENT-2730

Code quality fixes
2020-05-07 19:50:56 +05:00
Aarif
6ee2089077 fixed warnings for wrong-import-order 2020-04-08 23:43:06 +05:00
zia.fazal@arbisoft.com
d7ed021b8d Added ability to logout from IDP
Logout link should be displayed only for learner portal

Added changed to display only for learner portal
Added unit tests

check third_party_auth is enabled

Changes to extend SSO logout link feature to Oauth providers

Fixed quality violations

Removed unncessary assert

Reviewer feedback changes
2020-02-07 19:38:36 +05:00
Feanil Patel
6e3fe00fff Fix all E303 pep8 errors. 2019-12-30 12:25:38 -05:00
Feanil Patel
9cf2f9f298 Run 2to3 -f future . -w
This will remove imports from __future__ that are no longer needed.

https://docs.python.org/3.5/library/2to3.html#2to3fixer-future
2019-12-30 10:35:30 -05:00
Zainab Amir
7eb21f4dec Change version of social-auth-app-django (#21956)
Microsoft social login is not working on edx mobile app. The issue
is fixed in newer version of social-auth-app-django.

PROD-718
2019-12-12 18:07:34 +05:00
Zaman Afzal
9b82185323 Revert "ENT-2454 Modify third party auth pipeline to update user enterprise (#22314)" (#22384)
This reverts commit 439e4b4169.
2019-11-22 20:46:36 +05:00
Zaman Afzal
439e4b4169 ENT-2454 Modify third party auth pipeline to update user enterprise (#22314)
* ENT-2454 Modify third party auth pipeline to update user enterprise
2019-11-22 17:47:12 +05:00
Christie Rice
1d5fcc60bb ENT-1604 Send signal when user is verified via SSO (#21946) 2019-10-15 08:18:54 -04:00
Feanil Patel
4eaf875741 BOM-621 Fix hashing in a bunch of places. 2019-09-19 15:53:39 -04:00
irfanuddinahmad
e723448a77 minor logs update 2019-07-29 16:22:42 +05:00
irfanuddinahmad
df1c7f553a reformatted logging 2019-07-25 16:10:48 +05:00
Ayub khan
33bcb76a26 INCR-400 python3 compatibility 2019-07-19 10:00:39 -04:00
irfanuddinahmad
53265d506e user existence check updated to use email only 2019-05-30 12:30:14 +05:00
Brittney Exline
550d2616b5 ENT-1500 Update third_party_auth pipeline to override get_username
We are doing this for two reasons:
1. We suspect that the get_username function in social_core is performing a case-sensitive
username check which is breaking when we try to create the user with a duplicate username.
This version ensures we perform a case insensitive check.

2. If it's not that, we want more logging information in order to debug the issue.
2019-03-19 17:01:29 -04:00
adeelehsan
73f57457c0 Disbale third party login
if user password is unusable
then disable third party login

LEARNER-6183
2019-02-15 16:03:11 +05:00
Matthew Piatetsky
9681ca36b8 fix unicode strings in common/ 2019-02-05 10:57:00 -05:00
Nimisha Asthagiri
c7c8e856cd Check and update login status with all login-related cookies 2018-12-17 13:03:32 -05:00
Gabe Mulley
5311509b19 Provide more context to calls to Segment.
Implementation for DE-1089.

Centralize the definition of context into a single method.  This is in
common/djangoapps/track because the context is originally set there by
middleware.
2018-11-15 20:56:10 -05:00
Nimisha Asthagiri
8cf44283c9 Consolidate user login and authentication code 2018-09-15 03:21:39 -04:00
Jeremy Bowman
713d64e1e2 TE-2702 Update Read the Docs links to HTTPS 2018-08-15 17:34:01 -04:00
Eric Fischer
247bb50ed2 s/django.core.urlresolvers/django.urls/g
Django 1.10 deprecation fix for Hackathon XIX
Addresses PLAT-1397
2018-06-05 13:59:09 -04:00
Eric Fischer
e18448e27d Silence deprecation warnings
https://docs.djangoproject.com/en/1.11/releases/1.10/#using-user-is-authenticated-and-user-is-anonymous-as-methods
2018-05-02 10:03:50 -04:00
Brittney Exline
f41bf2f409 ENT-944 Create SSOVerifications for users in tpa pipeline based on provider's settings 2018-04-23 10:10:26 -04:00
Bill DeRusha
d1ed33ac23 Update and refactor random password generator 2018-04-13 14:17:21 -04:00
zubair-arbi
7504be1c67 Remove username from force syncing in third party auth pipeline 2018-01-01 16:24:03 +05:00
Saleem Latif
86da9c1c63 Disable linking of personal accounts to enterprise customers via SSO 2017-12-18 15:12:42 +05:00
Uman Shahzad
53fea6a4b7 Merge pull request #16624 from open-craft/uman/force-sync-learner-data
[ENT-759] Add a TPA pipeline step to take forced sync into account.
2017-11-29 17:11:29 +05:00
Uman Shahzad
ee09c4ccf9 Add a TPA pipeline step to allow force sync of user details.
The feature is controlled by a switch on the provider.
Emails are sent if the email changes during the sync.
We skip syncing the username/email if there would be a conflict.
2017-11-29 16:16:55 +05:00