mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
dev: magic link login and email password disable
This commit is contained in:
parent
0ad8bf7664
commit
781c0e8ae4
@ -4,6 +4,9 @@ AUTHENTICATION_ERROR_CODES = {
|
|||||||
"INVALID_EMAIL": 5005,
|
"INVALID_EMAIL": 5005,
|
||||||
"EMAIL_REQUIRED": 5010,
|
"EMAIL_REQUIRED": 5010,
|
||||||
"SIGNUP_DISABLED": 5015,
|
"SIGNUP_DISABLED": 5015,
|
||||||
|
"MAGIC_LINK_LOGIN_DISABLED": 5016,
|
||||||
|
"PASSWORD_LOGIN_DISABLED": 5018,
|
||||||
|
"USER_ACCOUNT_DEACTIVATED": 5019,
|
||||||
# Password strength
|
# Password strength
|
||||||
"INVALID_PASSWORD": 5020,
|
"INVALID_PASSWORD": 5020,
|
||||||
"SMTP_NOT_CONFIGURED": 5025,
|
"SMTP_NOT_CONFIGURED": 5025,
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
# Python imports
|
||||||
|
import os
|
||||||
|
|
||||||
# Module imports
|
# Module imports
|
||||||
from plane.authentication.adapter.credential import CredentialAdapter
|
from plane.authentication.adapter.credential import CredentialAdapter
|
||||||
from plane.db.models import User
|
from plane.db.models import User
|
||||||
@ -5,6 +8,7 @@ from plane.authentication.adapter.error import (
|
|||||||
AUTHENTICATION_ERROR_CODES,
|
AUTHENTICATION_ERROR_CODES,
|
||||||
AuthenticationException,
|
AuthenticationException,
|
||||||
)
|
)
|
||||||
|
from plane.license.utils.instance_value import get_configuration_value
|
||||||
|
|
||||||
|
|
||||||
class EmailProvider(CredentialAdapter):
|
class EmailProvider(CredentialAdapter):
|
||||||
@ -23,6 +27,21 @@ class EmailProvider(CredentialAdapter):
|
|||||||
self.code = code
|
self.code = code
|
||||||
self.is_signup = is_signup
|
self.is_signup = is_signup
|
||||||
|
|
||||||
|
(ENABLE_EMAIL_PASSWORD,) = get_configuration_value(
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"key": "ENABLE_EMAIL_PASSWORD",
|
||||||
|
"default": os.environ.get("ENABLE_EMAIL_PASSWORD"),
|
||||||
|
},
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
if ENABLE_EMAIL_PASSWORD == "0":
|
||||||
|
raise AuthenticationException(
|
||||||
|
error_code=AUTHENTICATION_ERROR_CODES["ENABLE_EMAIL_PASSWORD"],
|
||||||
|
error_message="ENABLE_EMAIL_PASSWORD",
|
||||||
|
)
|
||||||
|
|
||||||
def set_user_data(self):
|
def set_user_data(self):
|
||||||
if self.is_signup:
|
if self.is_signup:
|
||||||
# Check if the user already exists
|
# Check if the user already exists
|
||||||
|
@ -26,23 +26,20 @@ class MagicCodeProvider(CredentialAdapter):
|
|||||||
code=None,
|
code=None,
|
||||||
):
|
):
|
||||||
|
|
||||||
(EMAIL_HOST, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD) = (
|
(
|
||||||
get_configuration_value(
|
EMAIL_HOST,
|
||||||
[
|
ENABLE_MAGIC_LINK_LOGIN,
|
||||||
{
|
) = get_configuration_value(
|
||||||
"key": "EMAIL_HOST",
|
[
|
||||||
"default": os.environ.get("EMAIL_HOST"),
|
{
|
||||||
},
|
"key": "EMAIL_HOST",
|
||||||
{
|
"default": os.environ.get("EMAIL_HOST"),
|
||||||
"key": "EMAIL_HOST_USER",
|
},
|
||||||
"default": os.environ.get("EMAIL_HOST_USER"),
|
{
|
||||||
},
|
"key": "ENABLE_MAGIC_LINK_LOGIN",
|
||||||
{
|
"default": os.environ.get("ENABLE_MAGIC_LINK_LOGIN", "1"),
|
||||||
"key": "EMAIL_HOST_PASSWORD",
|
},
|
||||||
"default": os.environ.get("EMAIL_HOST_PASSWORD"),
|
]
|
||||||
},
|
|
||||||
]
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if not (EMAIL_HOST):
|
if not (EMAIL_HOST):
|
||||||
@ -52,6 +49,15 @@ class MagicCodeProvider(CredentialAdapter):
|
|||||||
payload={"email": str(self.key)},
|
payload={"email": str(self.key)},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if ENABLE_MAGIC_LINK_LOGIN == "0":
|
||||||
|
raise AuthenticationException(
|
||||||
|
error_code=AUTHENTICATION_ERROR_CODES[
|
||||||
|
"MAGIC_LINK_LOGIN_DISABLED"
|
||||||
|
],
|
||||||
|
error_message="MAGIC_LINK_LOGIN_DISABLED",
|
||||||
|
payload={"email": str(self.key)},
|
||||||
|
)
|
||||||
|
|
||||||
super().__init__(request, self.provider)
|
super().__init__(request, self.provider)
|
||||||
self.key = key
|
self.key = key
|
||||||
self.code = code
|
self.code = code
|
||||||
|
Loading…
Reference in New Issue
Block a user