Skip to content

Commit 234a581

Browse files
authored
🐛 Fix: drops phone check (#5475)
1 parent d7df635 commit 234a581

File tree

2 files changed

+16
-17
lines changed

2 files changed

+16
-17
lines changed

services/web/server/src/simcore_service_webserver/login/handlers_registration.py

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,6 @@ async def register_phone(request: web.Request):
348348
settings: LoginSettingsForProduct = get_plugin_settings(
349349
request.app, product_name=product.name
350350
)
351-
db: AsyncpgStorage = get_plugin_storage(request.app)
352351

353352
if not settings.LOGIN_2FA_REQUIRED:
354353
raise web.HTTPServiceUnavailable(
@@ -365,12 +364,6 @@ async def register_phone(request: web.Request):
365364
msg = f"Messaging SID is not configured in {product}. Update product's twilio_messaging_sid in database."
366365
raise ValueError(msg)
367366

368-
if await db.get_user({"phone": registration.phone}):
369-
raise web.HTTPUnauthorized( # noqa: TRY301
370-
reason="Cannot register this phone number because it is already assigned to an active user",
371-
content_type=MIMETYPE_APPLICATION_JSON,
372-
)
373-
374367
code = await create_2fa_code(
375368
app=request.app,
376369
user_email=registration.email,
@@ -385,18 +378,16 @@ async def register_phone(request: web.Request):
385378
first_name=get_user_name_from_email(registration.email),
386379
)
387380

388-
message = MSG_2FA_CODE_SENT.format(
389-
phone_number=mask_phone_number(registration.phone)
390-
)
391-
392381
return envelope_response(
393382
# RegisterPhoneNextPage
394383
data={
395384
"name": CODE_2FA_CODE_REQUIRED,
396385
"parameters": {
397386
"retry_2fa_after": settings.LOGIN_2FA_CODE_EXPIRATION_SEC,
398387
},
399-
"message": message,
388+
"message": MSG_2FA_CODE_SENT.format(
389+
phone_number=mask_phone_number(registration.phone)
390+
),
400391
"level": "INFO",
401392
"logger": "user",
402393
},

services/web/server/tests/unit/with_dbs/03/login/test_login_2fa.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@
2828
get_redis_validation_code_client,
2929
send_email_code,
3030
)
31-
from simcore_service_webserver.login._constants import MSG_2FA_UNAVAILABLE_OEC
31+
from simcore_service_webserver.login._constants import (
32+
CODE_2FA_CODE_REQUIRED,
33+
MSG_2FA_UNAVAILABLE_OEC,
34+
)
3235
from simcore_service_webserver.login.storage import AsyncpgStorage
3336
from simcore_service_webserver.products.api import Product, get_current_product
3437
from twilio.base.exceptions import TwilioRestException
@@ -240,15 +243,17 @@ def _get_confirmation_link_from_email():
240243
assert user["status"] == UserStatus.ACTIVE.value
241244

242245

243-
async def test_register_phone_fails_with_used_number(
246+
async def test_can_register_same_phone_in_different_accounts(
244247
client: TestClient,
245248
fake_user_email: str,
246249
fake_user_password: str,
247250
fake_user_phone_number: str,
251+
mocked_twilio_service: dict[str, Mock],
248252
cleanup_db_tables: None,
249253
):
250254
"""
251-
Tests https://github.com/ITISFoundation/osparc-simcore/issues/3304
255+
- Changed policy about user phone constraint in https://github.com/ITISFoundation/osparc-simcore/pull/5460
256+
- Tests https://github.com/ITISFoundation/osparc-simcore/issues/3304
252257
"""
253258
assert client.app
254259

@@ -290,8 +295,11 @@ async def test_register_phone_fails_with_used_number(
290295
"phone": fake_user_phone_number,
291296
},
292297
)
293-
_, error = await assert_status(response, status.HTTP_401_UNAUTHORIZED)
294-
assert "phone" in error["message"]
298+
data, error = await assert_status(response, status.HTTP_202_ACCEPTED)
299+
assert data
300+
assert "Code" in data["message"]
301+
assert data["name"] == CODE_2FA_CODE_REQUIRED
302+
assert not error
295303

296304

297305
async def test_send_email_code(

0 commit comments

Comments
 (0)