All user emails are stored as lowercase, but OAuth provider could have it in mixed case.
We pass the email as-is to LoginManager, which could result in a session with an incorrect email.
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
* fix: OAuth2 absolute authorize, access token and api urls
* fix: add back keycloak check, just use the function instead
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
---------
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
Co-authored-by: Akhil Narang <me@akhilnarang.dev>
urljoin() just adds the base URL to the relative path, here our base URL has an extra route in the path which isn't added in.
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
There are cases where certain social login keys
- Should not allow signups at all and only allow logins. E.g. social media login keys.
- Should allow signups even if global sign ups are disabled. e.g. internal SSO like setups.
refactor: clean up code to py39+ supported syntax
- f-strings instead of format
- latest typing support instead of pre 3.9 TitleCase
- remove UTF-8 declarations.
- many more changes
Powered by https://github.com/asottile/pyupgrade/ + manual cleanups
The license.txt file has been replaced with LICENSE for quite a while
now. INAL but it didn't seem accurate to say "hey, checkout license.txt
although there's no such file". Apart from this, there were
inconsistencies in the headers altogether...this change brings
consistency.
* Remove six for PY2 compatability since our dependencies are not, PY2
is legacy.
* Removed usages of utils from future/past libraries since they are
deprecated. This includes 'from __future__ ...' and 'from past...'
statements.
* Removed compatibility imports for PY2, switched from six imports to
standard library imports.
* Removed utils code blocks that handle operations depending on PY2/3
versions.
* Removed 'from __future__ ...' lines from templates/code generators
* Used PY3 syntaxes in place of PY2 compatible blocks. eg: metaclass
In Pyhton3, requests response content is in bytes type. So decoder
have to handle both `str` and `bytes` to make it compatible with
both python 2 and 3
* fairlogin
adding fairlogin provider
* fairlogin
add fairlogin provider
* fairlogin
* fairlogin
* fairlogin userid
fairlogin userid corrected to preferred_username
* removed trailing white space
* removed trailing white space
removing white space mourned by automated code review
* Added Salesforce Social Login
* [Docs] Generate client_id client_secret for login providers
* [Fix] salesforce userid
Saleforce sub from openid is https://login.salesforce.com/id/ABC/XYZ
Extracting ABC/XYZ
* Added DocType Social Login Key
WIP for https://github.com/frappe/frappe/issues/4496
added basic fields
after_insert add provider_username and provider_userid fields on User dt
on_trash deletes added fields on User dt
* Added field to store fontawesome icon for provider
* [Patch] Social Login Keys to Social Login Key
* [Patch] Social Login Keys to Social Login Key
* Social Login Key generates boilerplate
* patch fixed for social_login_refactor
* removed patch-not working
* use social login keys to initiate flow
* Login page shows Social Login Key
* show login via if base_url present
* removed boilerplate generator
* Multiple Changes
fix zxcvbn import in password_strength.py
use of child table instead of additional fields on user dt to store username and userid
* Fetched Template on Client JS
* Frappe social login template working
* Added Social Login Key Templates
* Codacy fixes and validate social login key urls
* [Patch] Social Login Keys (untested)
* [Fix] Patch refactor social login keys
* [Fix] Patch refactor_social_login_keys manually tested
* Refactor OAuth 2.0 related changes for Social Login Key
* [Fix] Patch refactor social login keys
* Test - Adding Frappe Social Login Key
* Social Login Key Tests
check added child table entry on user for provider frappe
it also checks if userid is created
* [WIP] Office 365 Social Login Key Template
* [Fix] Social Login - Redirect URL
* [Test] Single sign-on icons for added provider
* [Fix] Codacy Errors
* [Fix] Social Login Key Form JS
* Docs Added for Social Login Key
* [Fix] Patch Refactor Social Login Keys
* Handle different icon types
Handle different icon types (image, icon, emoji) with just icon field
* Move the login methods to a new py file
frappe.integrations.oauth2_logins added
copied whitelisted guest oauth2 redirect endpoints from login.py
removing the functions from login.py will break backward compatibility
* Social Login Key Form Changes
Moved Enable field to top
Fields which are not editable are collapsed
* [Fix] Codacy Errors
* Corrected Docs, sync.py
* [Docs] Adding a social login provider
* [Fix] set frappe userid from User Social Login
* [Fix] frappe userid in oauth.py
* removed icon_type
* Use frappe.utils.is_image
* [fix] remove razorpay from integration service
* [fix] clean-up js side integration service dependancies
* [fix] remove integration service, .py cleanup, move integration request to integration
* [fix] move oauth to integrations and deprecate integration broker
* [fix] mark services enabled and update integrations listing
* [fix] V7.1 and V7.2 integration service related pathch fixes and move payment gateway dotype to core module
* [fix] create payment gateway records if not exists
* [fix] module page for integrations
* [minor][fix] minor checks
* [fix] remove integration broker module only if not allocated to any doctype