This performs a dark launch compare of the existing implementation
(still in use) for fetching TPA provider configs and a new
implementation, recording metrics on exceptions and mismatches.
The new implementation should have two benefits, once we're switched
over:
- Fix 1+N queries on login page view where the site for each config
was fetched in a loop (ARCHBOM-1139)
- Don't allow configs with the same key on different sites to
interfere with each other (regression test added)
The new impl does not use TieredCache, but only the request cache,
which we may want to adjust later.
This change fixes a bug where OAuth2 Provider Configs only show
up on logistration if the provider's `provider_slug` matches a
valid OAuth2 backend name.
Closes ENT-320.
This change adds three new configuration variables to third_party_auth's LinkedIn provider:
* SOCIAL_AUTH_LINKEDIN_OAUTH2_SCOPE,
* SOCIAL_AUTH_LINKEDIN_OAUTH2_FIELD_SELECTORS,
* SOCIAL_AUTH_LINKEDIN_OAUTH2_EXTRA_DATA
Being able to configure these additional settings is useful if you want
the LinkedIn provider to pre-populate the email field when a new user
registers via the linkedin provider.
The Google provider prepoulates the email field by default, but if you
want LinkedIn to do the same, these two settings should be set to:
SOCIAL_AUTH_LINKEDIN_OAUTH2_SCOPE = ['r_basicprofile', 'r_emailaddress']
SOCIAL_AUTH_LINKEDIN_OAUTH2_FIELD_SELECTORS = ['email-address']
For more info see:
http://psa.matiasaguirre.net/docs/backends/linkedin.html
third_party_auth contains a working settings mechanism, the start of the provider interface + 3 implementations (Google, Mozilla Persona, LinkedIn), and a stub for the auth pipeline. Modified existing lms settings files to use but deactivate the module.