Skip to content

Commit a7e2e59

Browse files
[WEB-5518]: update magic code token to send code as 6 digit numbers (#8188)
* refactor: simplify token generation in MagicCodeProvider by using a numeric approach * fix: update placeholder text for unique code input across multiple languages * refactor: replace token generation with a numeric approach for user email updates * fix: update placeholder text for unique code input in multiple languages to a numeric format * refactor: replace random token generation with secrets for enhanced security in user email updates and magic code provider
1 parent 980428b commit a7e2e59

File tree

23 files changed

+39
-54
lines changed

23 files changed

+39
-54
lines changed

apps/api/plane/app/views/user/base.py

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
import uuid
33
import json
44
import logging
5-
import random
6-
import string
75
import secrets
86

97
# Django imports
@@ -151,13 +149,7 @@ def generate_email_verification_code(self, request):
151149
# Include user ID to bind the code to the specific user
152150
cache_key = f"magic_email_update_{user.id}_{new_email}"
153151
## Generate a random token
154-
token = (
155-
"".join(secrets.choice(string.ascii_lowercase) for _ in range(4))
156-
+ "-"
157-
+ "".join(secrets.choice(string.ascii_lowercase) for _ in range(4))
158-
+ "-"
159-
+ "".join(secrets.choice(string.ascii_lowercase) for _ in range(4))
160-
)
152+
token = str(secrets.randbelow(900000) + 100000)
161153
# Store in cache with 10 minute expiration
162154
cache_data = json.dumps({"token": token})
163155
cache.set(cache_key, cache_data, timeout=600)

apps/api/plane/authentication/provider/credentials/magic_code.py

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
# Python imports
22
import json
33
import os
4-
import random
5-
import string
4+
import secrets
65

76

87
# Module imports
@@ -50,13 +49,7 @@ def __init__(self, request, key, code=None, callback=None):
5049

5150
def initiate(self):
5251
## Generate a random token
53-
token = (
54-
"".join(random.choices(string.ascii_lowercase, k=4))
55-
+ "-"
56-
+ "".join(random.choices(string.ascii_lowercase, k=4))
57-
+ "-"
58-
+ "".join(random.choices(string.ascii_lowercase, k=4))
59-
)
52+
token = str(secrets.randbelow(900000) + 100000)
6053

6154
ri = redis_instance()
6255

apps/space/core/components/account/auth-forms/unique-code.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ export function AuthUniqueCodeForm(props: TAuthUniqueCodeForm) {
113113
name="code"
114114
value={uniqueCodeFormData.code}
115115
onChange={(e) => handleFormChange("code", e.target.value)}
116-
placeholder="gets-sets-flys"
116+
placeholder="123456"
117117
className="disable-autofill-style h-10 w-full border border-custom-border-100 !bg-custom-background-100 pr-12 placeholder:text-custom-text-400"
118118
autoFocus
119119
/>

packages/i18n/src/locales/cs/translations.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ export default {
7474
},
7575
unique_code: {
7676
label: "Jedinečný kód",
77-
placeholder: "gets-sets-flys",
77+
placeholder: "123456",
7878
paste_code: "Vložte kód zaslaný na váš e-mail",
7979
requesting_new_code: "Žádám o nový kód",
8080
sending_code: "Odesílám kód",
@@ -1544,7 +1544,7 @@ export default {
15441544
},
15451545
code: {
15461546
label: "Jedinečný kód",
1547-
placeholder: "gets-sets-flys",
1547+
placeholder: "123456",
15481548
helper_text: "Ověřovací kód byl odeslán na váš nový e-mail.",
15491549
errors: {
15501550
required: "Jedinečný kód je povinný",

packages/i18n/src/locales/de/translations.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ export default {
7474
},
7575
unique_code: {
7676
label: "Einmaliger Code",
77-
placeholder: "gets-sets-flys",
77+
placeholder: "123456",
7878
paste_code: "Fügen Sie den an Ihre E-Mail gesendeten Code ein",
7979
requesting_new_code: "Neuen Code anfordern",
8080
sending_code: "Code wird gesendet",
@@ -1562,7 +1562,7 @@ export default {
15621562
},
15631563
code: {
15641564
label: "Einmaliger Code",
1565-
placeholder: "gets-sets-flys",
1565+
placeholder: "123456",
15661566
helper_text: "Verifizierungscode wurde an deine neue E-Mail gesendet.",
15671567
errors: {
15681568
required: "Einmaliger Code ist erforderlich",

packages/i18n/src/locales/en/core.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ export default {
7575
},
7676
unique_code: {
7777
label: "Unique code",
78-
placeholder: "gets-sets-flys",
78+
placeholder: "123456",
7979
paste_code: "Paste the code sent to your email",
8080
requesting_new_code: "Requesting new code",
8181
sending_code: "Sending code",

packages/i18n/src/locales/en/translations.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1378,7 +1378,7 @@ export default {
13781378
},
13791379
code: {
13801380
label: "Unique code",
1381-
placeholder: "gets-sets-flys",
1381+
placeholder: "123456",
13821382
helper_text: "Verification code sent to your new email.",
13831383
errors: {
13841384
required: "Unique code is required",

packages/i18n/src/locales/es/translations.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1566,7 +1566,7 @@ export default {
15661566
},
15671567
code: {
15681568
label: "Código único",
1569-
placeholder: "gets-sets-flys",
1569+
placeholder: "123456",
15701570
helper_text: "Código de verificación enviado a tu nuevo correo electrónico.",
15711571
errors: {
15721572
required: "El código único es obligatorio",

packages/i18n/src/locales/fr/translations.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ export default {
7474
},
7575
unique_code: {
7676
label: "Code unique",
77-
placeholder: "gets-sets-flys",
77+
placeholder: "123456",
7878
paste_code: "Collez le code envoyé à votre e-mail",
7979
requesting_new_code: "Demande d’un nouveau code",
8080
sending_code: "Envoi du code",
@@ -1564,7 +1564,7 @@ export default {
15641564
},
15651565
code: {
15661566
label: "Code unique",
1567-
placeholder: "gets-sets-flys",
1567+
placeholder: "123456",
15681568
helper_text: "Code de vérification envoyé à votre nouvel e-mail.",
15691569
errors: {
15701570
required: "Le code unique est requis",

packages/i18n/src/locales/id/translations.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ export default {
7474
},
7575
unique_code: {
7676
label: "Kode unik",
77-
placeholder: "gets-sets-flys",
77+
placeholder: "123456",
7878
paste_code: "Tempelkan kode yang dikirim ke email anda",
7979
requesting_new_code: "Meminta kode baru",
8080
sending_code: "Mengirim kode",
@@ -1552,7 +1552,7 @@ export default {
15521552
},
15531553
code: {
15541554
label: "Kode unik",
1555-
placeholder: "gets-sets-flys",
1555+
placeholder: "123456",
15561556
helper_text: "Kode verifikasi dikirim ke email baru Anda.",
15571557
errors: {
15581558
required: "Kode unik wajib diisi",

0 commit comments

Comments
 (0)