在 Dj-Rest-Auth 中验证电子邮件时出现 404 错误

问题描述 投票:0回答:1

我正在 Django 中使用 dj-rest-auth 为移动应用程序开发身份验证 API。用户注册帐户后,系统会向用户发送一封包含激活密钥的验证电子邮件。但是,当我尝试通过向验证端点发送 POST 请求来验证电子邮件时,我收到 404 Not Found 错误。我不确定问题出在哪里。

# main project urls.py
urlpatterns = [
    # Other URL patterns...
    path('register/', include('dj_rest_auth.registration.urls')),
    # ...
]

设置

ACCOUNT_USER_MODEL_USERNAME_FIELD = None
ACCOUNT_USERNAME_REQUIRED = False

ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_CONFIRM_EMAIL_ON_GET = True

#ACCOUNT_EMAIL_CONFIRMATION_ANONYMOUS_REDIRECT_URL = ''
#ACCOUNT_EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URL = ''

SITE_ID = 1

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'myEmail'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_PORT = 587
EMAIL_CONFIRMATION_EXPIRE_DAYS = 7
#EMAIL_HOST_USER = os.environ.get("EMAIL_USER")
#EMAIL_HOST_PASSWORD = os.environ.get("EMAIL_PASSWORD")




REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    ]
}
SIMPLE_JWT  = {
    'USER_ID_FIELD': 'email',
    'ACCESS_TOKEN_LIFETIME': datetime.timedelta(minutes=15),
    'REFRESH_TOKEN_LIFETIME': datetime.timedelta(days=10),
    'ROTATE_REFRESH_TOKENS': True,
}
LOGIN_URL = 'https://localhost:8000/login/'

REST_AUTH = {
        'USER_DETAILS_SERIALIZER' : 'users.serializers.CustomUserDetailsSerializer',
        'REGISTER_SERIALIZER': 'users.serializers.UserRegisterSerializer',
        'USE_JWT': True,
        'JWT_AUTH_COOKIE': 'my-app-auth',
        'JWT_AUTH_REFRESH_COOKIE': 'my-refresh-token',
        'JWT_AUTH_HTTPONLY':False,
}
AUTHENTICATION_BACKENDS = [
    'allauth.account.auth_backends.AuthenticationBackend',
    'django.contrib.auth.backends.ModelBackend',
]       

问题:

当我尝试通过使用激活密钥向

/register/verify-email/
端点发送 POST 请求来验证电子邮件时,我收到 404 Not Found 错误。我不确定可能导致此问题的原因。

如果您能提供有关电子邮件验证过程中可能导致 404 错误的原因的任何指导,我将不胜感激。如果您遇到类似的问题,或者您对如何解决此问题有建议,我将不胜感激您的见解。

提前感谢您的帮助!

django api authentication django-rest-auth dj-rest-auth
1个回答
0
投票

404未找到错误意味着您要查找的网址不存在:

您正在寻找/注册/验证电子邮件/, 确保它存在于您的 dj_rest_auth.registration.urls 中

© www.soinside.com 2019 - 2024. All rights reserved.