Reposting z https://community.auth0.com/t/ Login-URL-404-nie-znaleziony / 52181

IVE SETUP ADTH0 APP. Próbuję skonfigurować przepływ autoryzacji i przepływu autoryzacji kodu;

Postępuję zgodnie z tym artykułem: https://auth0.com/docs/quickStart/webapp/django . Aby wdrożyć przepływ aplikacji internetowych Auth0.

Aby wdrożyć przepływ autoryzacji kodu backendowego IM: https://auth0.com/docs/quickStart/Abackend / Django.

Wdrożenia są w tym pliku: aplikacje / auth_zero / authplorbackend.py, aby napisać zarówno standardowy przepływ aplikacji internetowych, jak i przepływ autoryzacji kodu. które podproce / login / auth0 jako auth0 / login / auth0; Sprawdź główne adresy URL aplikacji.

Ale dostaję 404 nie znaleziono, gdy naciskam Login: Ive Setup A Auth0. Próbuję skonfigurować przepływ autoryzacji i przepływu autoryzacji kodu;

Postępuję zgodnie z tym artykułem: https://auth0.com/docs/quickStart/webapp/django . Aby wdrożyć przepływ aplikacji internetowych Auth0.

Aby wdrożyć przepływ autoryzacji kodu backendowego IM: https://auth0.com/docs/quickStart/Abackend / Django.

Wdrożenia są w tym pliku: aplikacje / auth_zero / authplorbackend.py, aby napisać zarówno standardowy przepływ aplikacji internetowych, jak i przepływ autoryzacji kodu. które podproce / login / auth0 jako auth0 / login / auth0; Sprawdź główne adresy URL aplikacji.

Ale dostaję 404 Nie znaleziono, gdy naciskam login: Wpisz opis obrazu tutaj

Podejrzewam, że coś musi być złe w moich ustawieniach;

Repo dla ref jest: https://github.com/xcov19/covidx/tree/ 1777FE574C640C32DB587E361C32758BC0C175D2 / Covidx

To jest moje oprogramowanie pośrednie:

MIDDLEWARE = [
    "django.middleware.security.SecurityMiddleware",
    "django.contrib.sessions.middleware.SessionMiddleware",
    "django.middleware.common.CommonMiddleware",
    "django.middleware.csrf.CsrfViewMiddleware",
    "django.contrib.auth.middleware.AuthenticationMiddleware",
    # Map username from the Access Token payload to
    # Django authentication system
    "django.contrib.auth.middleware.RemoteUserMiddleware",
    "django.contrib.messages.middleware.MessageMiddleware",
    "django.middleware.clickjacking.XFrameOptionsMiddleware",
]

Są to moje konfiguracje backend i auth0 jwt:

# SOCIAL AUTH AUTH0 BACKEND CONFIG
SOCIAL_AUTH_TRAILING_SLASH = os.getenv("SOCIAL_AUTH_TRAILING_SLASH")
SOCIAL_AUTH_AUTH0_KEY = os.environ.get("SOCIAL_AUTH_AUTH0_KEY")
SOCIAL_AUTH_AUTH0_SECRET = os.environ.get("SOCIAL_AUTH_AUTH0_SECRET")
SOCIAL_AUTH_AUTH0_SCOPE = ["openid", "profile", "email"]
SOCIAL_AUTH_AUTH0_DOMAIN = os.environ.get("SOCIAL_AUTH_AUTH0_DOMAIN")
SOCIAL_AUTH_ACCESS_TOKEN_METHOD = os.getenv("ACCESS_TOKEN_METHOD")
JWT_AUDIENCE = os.getenv("JWT_AUDIENCE")

if AUDIENCE := (
    os.getenv("AUTH0_AUDIENCE") or f"https://{SOCIAL_AUTH_AUTH0_DOMAIN}/userinfo"
):
    SOCIAL_AUTH_AUTH0_AUTH_EXTRA_ARGUMENTS = {"audience": AUDIENCE}

# Set JWT_AUDIENCE to API identifier and the JWT_ISSUER to Auth0 domain
JWT_AUTH = {
    "JWT_PAYLOAD_GET_USERNAME_HANDLER": (
        "apps.auth_zero.auth0backend." "jwt_get_username_from_payload_handler"
    ),
    "JWT_DECODE_HANDLER": "apps.auth_zero.auth0backend.jwt_decode_token",
    "JWT_ALGORITHM": "RS256",
    "JWT_AUDIENCE": JWT_AUDIENCE,
    "JWT_ISSUER": "https://dev-mavl72j2.eu.auth0.com/",
    "JWT_AUTH_HEADER_PREFIX": "Bearer",
}

AUTHENTICATION_BACKENDS = {
    "apps.auth_zero.auth0backend.Auth0",
    "django.contrib.auth.backends.ModelBackend",
    "django.contrib.auth.backends.RemoteUserBackend",
    "guardian.backends.ObjectPermissionBackend",
}


LOGIN_URL = "/auth0/login/auth0"
LOGIN_REDIRECT_URL = "/"
AUTH_REDIRECT_URI = "/auth0/complete/auth0"

Używam DRF, jego ustawienia to:

REST_FRAMEWORK = {
    # Use Django's standard `django.contrib.auth` permissions,
    # or allow read-only access for unauthenticated users.
    "DEFAULT_PERMISSION_CLASSES": [
        "rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly",
        "rest_framework.permissions.AllowAny",
    ],
    "DEFAULT_AUTHENTICATION_CLASSES": (
        "rest_framework_jwt.authentication.JSONWebTokenAuthentication",
        "rest_framework.authentication.SessionAuthentication",
        "rest_framework.authentication.BasicAuthentication",
    ),
    "DEFAULT_RENDERER_CLASSES": [
        "rest_framework.renderers.BrowsableAPIRenderer",
        "rest_framework.renderers.JSONOpenAPIRenderer",
    ],
}
0
user2290820 27 październik 2020, 08:53

1 odpowiedź

Najlepsza odpowiedź

Twoim problemem jest to, że masz marker na koniec linii w swoim re_path, więc nie będzie pasować i delegować do autoryzacji URL:

re_path(r"^auth0/?$", include("apps.auth_zero.urls")),

Nie pasuje do /auth0/something, tylko /auth0/ lub /auth0. Luźnij koniec markera linii.

1
Melvyn 27 październik 2020, 17:48