def METHOD_NAME(self, provider: OAuth2Provider) -> dict[str, Any]:
    """Get dictionary for OpenID Connect information"""
    scopes = list(
        ScopeMapping.objects.filter(provider=provider).values_list("scope_name", flat=True)
    )
    if SCOPE_OPENID not in scopes:
        scopes.append(SCOPE_OPENID)
    _, supported_alg = provider.jwt_key
    return {
        "issuer": provider.get_issuer(self.request),
        "authorization_endpoint": self.request.build_absolute_uri(
            reverse("authentik_providers_oauth2:authorize")
        ),
        "token_endpoint": self.request.build_absolute_uri(
            reverse("authentik_providers_oauth2:token")
        ),
        "userinfo_endpoint": self.request.build_absolute_uri(
            reverse("authentik_providers_oauth2:userinfo")
        ),
        "end_session_endpoint": self.request.build_absolute_uri(
            reverse(
                "authentik_providers_oauth2:end-session",
                kwargs={"application_slug": provider.application.slug},
            )
        ),
        "introspection_endpoint": self.request.build_absolute_uri(
            reverse("authentik_providers_oauth2:token-introspection")
        ),
        "revocation_endpoint": self.request.build_absolute_uri(
            reverse("authentik_providers_oauth2:token-revoke")
        ),
        "device_authorization_endpoint": self.request.build_absolute_uri(
            reverse("authentik_providers_oauth2:device")
        ),
        "response_types_supported": [
            ResponseTypes.CODE,
            ResponseTypes.ID_TOKEN,
            ResponseTypes.ID_TOKEN_TOKEN,
            ResponseTypes.CODE_TOKEN,
            ResponseTypes.CODE_ID_TOKEN,
            ResponseTypes.CODE_ID_TOKEN_TOKEN,
        ],
        "response_modes_supported": [
            ResponseMode.QUERY,
            ResponseMode.FRAGMENT,
            ResponseMode.FORM_POST,
        ],
        "jwks_uri": self.request.build_absolute_uri(
            reverse(
                "authentik_providers_oauth2:jwks",
                kwargs={"application_slug": provider.application.slug},
            )
        ),
        "grant_types_supported": [
            GRANT_TYPE_AUTHORIZATION_CODE,
            GRANT_TYPE_REFRESH_TOKEN,
            GRANT_TYPE_IMPLICIT,
            GRANT_TYPE_CLIENT_CREDENTIALS,
            GRANT_TYPE_PASSWORD,
            GRANT_TYPE_DEVICE_CODE,
        ],
        "id_token_signing_alg_values_supported": [supported_alg],
        # See: http://openid.net/specs/openid-connect-core-1_0.html#SubjectIDTypes
        "subject_types_supported": ["public"],
        "token_endpoint_auth_methods_supported": [
            "client_secret_post",
            "client_secret_basic",
        ],
        "acr_values_supported": [ACR_AUTHENTIK_DEFAULT],
        "scopes_supported": scopes,
        # https://openid.net/specs/openid-connect-core-1_0.html#RequestObject
        "request_parameter_supported": False,
        "claims_supported": self.get_claims(provider),
        "claims_parameter_supported": False,
        "code_challenge_methods_supported": [PKCE_METHOD_PLAIN, PKCE_METHOD_S256],
    }