Support for multiple OpenID providers
Support multiple OpenID providers. Support enabling a subset at runtime.
Idea:
- multiple providers in database
- unify OpenID settings into a struct, such as:
struct OpenIdCredentials {
provider: String,
client_id: String,
client_secret: String,
provider_url: Url,
}
Ability to specify all of these in one flag, for example as
--openid google:$client_id:$client_secret:$provider_url
Also need to implement dynamic redirect URLs. currently it is http://localhost:8000/oauth2/callback
. Ideally, it would then be http://localhost:8000/auth/google/callback
.
Goals:
- Can specify subset of providers at runtime. This is useful for unit testing, so that network connection is not required.
- Can support multiple providers in production.
Edited by Patrick Elsen