Commit Graph

413 Commits

Author SHA1 Message Date
Tim McCormack
7c7792f92a fix: Delete JWTs and other cookies when SafeSessions deletes session cookie (#29857)
This is more correct and may reduce the likelihood of perpetuating a bad
mixed-auth state.

In general, we should probably be modifying session and JWT cookies in
sync at all times, never individually. This specific code probably won't
make anything worse, but a clean reset might improve user experience in
the rare cases where someone somehow gets their browser into a weird
state.

- Switch from `response.set_cookie` with past expiry to just using the
  `response.delete_cookie` method.
- Docstring improvements.

ref: ARCHBOM-2030 (internal)
2022-02-03 15:00:23 +00:00
Felipe Montoya
c807af628f Merge pull request #29449 from eduNEXT/MJG/1st_filters_batch
[BD-32] feat: add first batch of Open edX Filters
2022-01-26 11:35:00 -05:00
Maria Grimaldi
f29a4eef68 feat: add first batch of Open edX Filters
* Add PreEnrollmentFilter
* Add PreRegisterFilter
* Add PreLoginFilter
2022-01-26 11:45:44 -04:00
Usama Sadiq
59a0acc768 Revert "feat!: Remove django-admin default login. (#29416)" (#29824)
This reverts commit be2a57902f.
2022-01-26 19:17:45 +05:00
Awais Qureshi
be2a57902f feat!: Remove django-admin default login. (#29416)
Now redirect the admin-login towards the lms login.
BOM-2855
2022-01-26 17:27:17 +05:00
Attiya Ishaque
60f3623066 fix: [VAN-823] Remove Authn MFE Waffle Flag (#29778) 2022-01-26 16:02:53 +05:00
Tim McCormack
7fc20e69f4 feat: Allow safe-session exemption even for exceptions
Change `mark_user_change_as_expected` to no longer take the response object
and instead convey the expected-change information via RequestCache.
This requires edx-django-utils 4.4.2, which fixes the bug where
RequestCache was cleared in the exception phase.

Also, no longer mark `ENFORCE_SAFE_SESSIONS` toggle as
temporary. We'll want it as an opt-out.

I was tempted to take this opportunity to move any existing
`mark_user_change_as_expected` calls to be closer to where the actual
change request.user occurs, reducing risk of both false positives and false
negatives, but it would be better to do that one at a time in case a move
breaks something. (Ideally it would be called right after any
`django.contrib.auth` `login` or `logout` call; previously, we were
constrained by having to make the call after a response object had been
created.) These changes can be made later if it becomes necessary.
2022-01-25 16:03:54 +00:00
Attiya Ishaque
bf46daa494 Merge pull request #236 from edx/attiya/VAN-817
fix: Add security fix in LMS logout redirect_url.
2022-01-17 14:27:01 +05:00
Waheed Ahmed
fa7ef8661b fix: login by email (#29727) 2022-01-07 13:07:05 +05:00
Waheed Ahmed
ed45aee9dd refactor: separate user lookup queries for login (#29711)
Using a single query to get a user using both username and email fields
generates a massive `key_len` and causes DB overload. Separated these
lookups into two separate queries.
VAN-819
2022-01-07 11:06:07 +05:00
attiyaIshaque
43d219bf72 fix: Add security fix in LMS logout redirect_url. 2022-01-03 13:45:03 +05:00
Waheed Ahmed
a85880ce46 chore: change ratelimit key for POST email param (#29638) 2021-12-20 15:09:59 +05:00
Jawayria
e48031cd86 chore: Applied lint-amnesty on openedx/core/djangoapps 2021-12-09 13:39:45 +05:00
uzairr
443034ed55 refactor: add a property to distinguish old and new users
Add a new prop in existing props to differentiate users either
a particular one is newly registered or not.

VAN-665
2021-12-07 17:59:31 +05:00
Zainab Amir
acf5add774 feat: add marketing email option on registration (#29397) 2021-12-07 17:16:28 +05:00
Shafqat Farhan
84cba23c0b feat: VAN-666 - Reject new password that is detected as vulnerable on password reset 2021-12-03 19:19:21 +05:00
uzairr
f02fe4c203 feat: allow login if email opt-in is enabled
allow login to in-active users if email opt-in is enabled

Fixes: VAN-768
2021-11-22 10:53:33 +05:00
Adeel Ehsan
66654b2edb feat: don't allow account creation for secondary emails (#28880)
VAN-726
2021-11-19 17:06:24 +05:00
Waheed Ahmed
29608af616 fix: user info cookie (#29313)
This PR is an update on https://github.com/edx/edx-platform/pull/29280
2021-11-15 12:56:47 +05:00
Gábor Boros
230795fb07 feat: add optional-exposed extra field type to registration form
This defines optional extra fields that are not hidden under the toggle on the 
registration page.
2021-11-12 15:24:59 +01:00
Waheed Ahmed
6ffdeab974 fix: remove hardcoded edx user info cookie name (#29280)
Removed hardcoded edx user info cookie name and used settings variable.
2021-11-12 11:33:00 +05:00
Ned Batchelder
d9dd10dc97 style: code cleanups from Steven Burch (#29292)
* chore: update deprecated import from collections

* chore: remove outdated imports from markdown library

as it hasn't been supported since 2.0.3 and we're on 3.x.
This was deprecated at least as early as 2012!

* docs: add docstring and remove lint-amnesty to markdown plugin

* chore: remove deprecated etree import

* style: remove unnecessary-comprehension for sets

* style: resolve a number of amnestied pylint complaints

Co-authored-by: stvn <stvn@mit.edu>
2021-11-10 07:11:57 -08:00
uzairr
0f3b3d2763 refactor: hibp call to celery task
Uses is_staff flag to figure out whether the user is internal or not.

Fixes: VAN-664
2021-11-05 18:19:49 +05:00
Waheed Ahmed
100752419e chore: update register identify call traits (#29264)
Updated identify call traits and only include the email_subscribe attribute
if the feature is enabled.
2021-11-05 15:43:15 +05:00
Adeel Ehsan
2aa220094c feat: Remove el option from education levels (#29150)
If COPPA flag is set to true then remove el options from education levels

VAN-760
2021-10-28 15:50:47 +05:00
Waheed Ahmed
d5ab616ca8 feat: COPPA - remove primary/elementary option from education (#29147)
Remove `primary/elementary` option from education field if COPPA compliance
feature flag is enabled. Also, renamed the flag.

VAN-762
2021-10-28 14:12:53 +05:00
Mubbshar Anwar
905c0a1eb9 fix: cta pop up (#29125)
do not show cta pop up when opt in checkbox show on register page.

VAN-740
2021-10-27 20:34:45 +05:00
Adeel Ehsan
873ca35dd9 Merge pull request #28844 from edx/aehsan/VAN-702/username_suggestions_format_updated
Username suggestion added based on the full name
2021-10-26 12:20:24 +05:00
M. Zulqarnain
43008723be feat: New codemods on OpenedX 3 (#28778) 2021-10-22 13:55:51 +05:00
M. Zulqarnain
9833134fae Post Django 3.2 Cleanup (#29069)
* chore: Post Django 3.2 Cleanup
2021-10-22 13:55:16 +05:00
Zainab Amir
6019971dd4 feat: put year of birth behind feature flag (#29007) 2021-10-22 12:17:06 +05:00
adeelehsan
590ba28913 Username suggestion added based on the full name
VAN-702
2021-10-22 11:56:39 +05:00
Usama Sadiq
9ee8df0980 fix: Remove pylint constraint and fix warnings (#28646) 2021-10-20 23:00:13 +05:00
Robert Raposa
b92bc527a8 fix: mark register user change
Since we may get user changes during registration,
we mark it as expected so our Safe Session protection
won't be triggered.
2021-10-18 12:05:28 -04:00
Feanil Patel
bc00e64409 fix: Decorate celery task to set code owner attribute.
See https://edx.readthedocs.io/projects/edx-django-utils/en/latest/monitoring/how_tos/add_code_owner_custom_attribute_to_an_ida.html\#handling-celery-tasks fo more details.
2021-10-15 13:55:12 -04:00
Felipe Montoya
678c159cf8 docs: adding the first version of documentation for open edx events
Includes:
- general documentation
- links to individual events definitions and location
- adding examples to events docs
- adding annotations at the trigger location
2021-10-13 15:28:24 -05:00
Tim McCormack
fe3d855986 feat: Don't warn about expected user changes in safe-sessions (#28983)
This is intended to silence a rare false positive that seems to happen
when someone logs in on a browser that already has an active session
for another user. We believe there should be no further positives once
this case is handled.

- login and logout views annotate the response to indicate the session
  user should be changing between the request and response phases
- safe-sessions middleware skips the verify-user check when this
  annotation is present

Also:

- Adds a test around existing behavior for unexpected user-changes
- Remove logging control based on `is_from_log_out`. This reverts most
  of af9e26f/PR #11479 for two reasons:
  - The safe-sessions `_verify_user` code has since changed to check for
    `request.user.id == None`
  - A commit later in the PR changes the login and logout pages to
    signal that the user/session change is expected
2021-10-13 15:53:16 +00:00
Shafqat Farhan
feb732d859 fix: VAN-739 - removed is_active property from Segment 2021-10-11 19:23:14 +05:00
Manjinder Singh
9ef8332a60 Revert "feat: adding code owner for a Celery event"
This reverts commit 2c37fec345.
2021-10-08 17:30:16 -04:00
Manjinder Singh
2c37fec345 feat: adding code owner for a Celery event 2021-10-08 17:29:06 -04:00
Mubbshar Anwar
23c94b7ec5 fix: add opt in/out event (#28985)
add opt in/out event for Braze.

VAN-738
2021-10-08 22:39:54 +05:00
Mubbshar Anwar
66291c3aa6 feat: record opt in/out attribute (#28883)
* feat: record opt in/out attribute

save opt in/out attribute comming from frontend-app-authn register page.
VAN-738

* feat: VAN-738 - Send marketing event property and email subscription

* feat: VAN-738 - Send marketing event property and email subscription

* feat: VAN-738 - updated conditions

* feat: VAN-738 - added is_active for braze during registration

* feat: VAN-738 - added is_active for braze during registration

* feat: VAN-738 - fixed pep8 violation

Co-authored-by: Shafqat Farhan <shafqat.farhan@arbisoft.com>
2021-10-08 18:29:18 +05:00
Robert Raposa
e41520dbae feat: return user id from login_refresh (#28905)
To enhance monitoring of login_refresh issues that happen
in the frontend, return user id as part of successful
refreshes.
2021-10-04 11:00:07 -04:00
uzairr
c83750ff58 add hipb api client 2021-09-24 13:09:14 +05:00
Ivo Branco
6f0255bc60 Fix use a registration field order when using a registration extension form (#26633) 2021-09-23 11:07:49 +05:00
Jawayria
43d0b4eec8 Merge pull request #28709 from edx/jawayria/fix-check
fix: Added the condition on body_type in test_reset_password
2021-09-13 16:15:08 +05:00
Tim McCormack
0c164ad4c2 fix: Fix Studio logout by pointing to correct logout view (#28714)
This changes the "Sign out" link on Studio to point to Studio's own logout
view, which clears the session and then redirects to LMS's logout page. The
LMS logout page then skips loading the Studio logout because it is seen in
the Referer header.

This change also brings Studio better into line with how other IDAs perform
their logouts.

Background:

After the rollout of Studio OAuth, logouts initiated on Studio failed to
actually log out Studio (but all other IDAs were logged out). This was
because the LMS logout view loads the logout pages of other IDAs but skips
any that is a *prefix* match on the Referer header, and browsers now often
send a truncated version of the Referer for privacy. Therefore, Studio was
always skipped when coming from Studio.

The fix is to make sure that Studio has already performed its logout by the
time the LMS logout page is loaded.

One wrinkle here is that the LMS logout view is activated by `/logout`, but
the correct logout view (provided by auth_backends) is activated by
`/logout/` -- with a trailing slash. This is fragile and unfortunate, but
can be cleaned up when we later remove other leftovers of Studio's previous
ability to handle logistration.

ref: ARCHBOM-1897
2021-09-10 18:45:58 +00:00
Jawayria
a3fd502bab fix quality 2021-09-10 21:10:21 +05:00
Jawayria
dee102a70b fix: Added the condition on body_type in test_reset_password 2021-09-10 18:14:07 +05:00
Zainab Amir
40dba56cff fix: auto register send_activation_email task (#28694) 2021-09-09 14:13:35 +05:00