Getting django-allauth to work with django-oidc-provider

Viewed 256

I'm trying to get django-allauth to do user authentication against django-oidc-provider:

https://github.com/juanifioren/django-oidc-provider

Like many OIDC providers, django-oidc-provider can serve a file which allows endpoint discovery. For example:

# http://localhost:8010/openid/.well-known/openid-configuration/

{
    "issuer": "http://localhost:8010/openid",
    "authorization_endpoint": "http://localhost:8010/openid/authorize",
    "token_endpoint": "http://localhost:8010/openid/token",
    "userinfo_endpoint": "http://localhost:8010/openid/userinfo",
    "end_session_endpoint": "http://localhost:8010/openid/end-session",
    "introspection_endpoint": "http://localhost:8010/openid/introspect",
    "response_types_supported": [
        "code",
        "id_token",
        "id_token token",
        "code token",
        "code id_token",
        "code id_token token"
    ],
    "jwks_uri": "http://localhost:8010/openid/jwks",
    "id_token_signing_alg_values_supported": [
        "HS256",
        "RS256"
    ],
    "subject_types_supported": [
        "public"
    ],
    "token_endpoint_auth_methods_supported": [
        "client_secret_post",
        "client_secret_basic"
    ]
}
  • Is there an existing django-allauth provider class that can parse and use the contents of an OIDC provider's .well-known/openid-configuration response?

  • If not, is there an existing django-allauth provider class that would talk directly to a django-oidc-provider-powered OIDC provider, if I put the right stuff into SOCIALACCOUNT_PROVIDERS in my project's settings.py?

  • If not, what existing django-allauth provider class would you suggest I subclass/steal from, in order to add support to django-allauth for talking with django-oidc-provider?

(This question isn't 100% specific to django-oidc-provider. Someone wanting to use some other provider unsupported by django-allauth would have the same question, for example, Akana)

(see also #676)

0 Answers
Related