209 похожих чатов

Привет всем! Товарищи, подскажите пожалуйста, юзаю экспресс(просто для обучения, не

более, так то нест наше всё, разумеется), тайпорм, постгрес. Делаю создание нового юзера и тут возник вопрос... а как подтверждение аккаутна делать?

Например я хочу сделать подтверждение акка через тг бота, почту, matrix.org бота, ну и потом мб в OAuth2 научусь и сделаю гугл, гитхаб и т.д. Только вот я пока вообще хз как это должно работать.

Я предпологаю что как то так на примере ТГ бота:
Приходит запрос от юзера: креды для регистрации, тип подтверждения акка, и т.д.
Парсим этот запрос, пихаем в какой нибудь кэш, доступный так же тг боту. Юзера редиректит на какое-нибудь verifyTg где ему выдаёт код который он должен отправить боту и если он всё отправляет успешно, то акк зареган, а юзеру приходит response о том то что акк зареган и следом выдаёт куки через какие нибудь веб сокеты.

19 ответов

18 просмотров

В случае почты генерируется токен и отправляется на почту в виде ссылки. С тг думаю все так же

Mr.-Anderson 🇺🇦 Автор вопроса
[username]
В случае почты генерируется токен и отправляется н...

Да, в тг можно реферальную ссылку сделать в теоррии

Mr.-Anderson 🇺🇦 Автор вопроса
[username]
В случае почты генерируется токен и отправляется н...

Понял, спасибо, а есть примеры кода на гитхабе?

Mr. Anderson 🇺🇦
Понял, спасибо, а есть примеры кода на гитхабе?

У меня нет примера. Работает примерно так: 1 - генерируется токен и сохраняется в какое нибудь хранилище вместе с userId, с ттл если надо 2 - формируется ссылка с токеном test.dev/confirm/{token} и отправляется на почту 3 - в контроллере по токену достается юзер и помечается как подтвержденный

Mr.-Anderson 🇺🇦 Автор вопроса

Хммм... а можно как то неподтверждённого юзера удалять спустя какое то время? Например 1 час без подтверждения и юзера нет.

Mr.-Anderson 🇺🇦 Автор вопроса
Mr. Anderson 🇺🇦
Хммм... а можно как то неподтверждённого юзера уда...

В теоррии можно просто при создение юзера можно с setTimeout() вызывать функцию что чекает подтверждён ли юзер кстати, если нет, то делитает его. Но оно ж память будет жрать наверн

Mr. Anderson 🇺🇦
Хммм... а можно как то неподтверждённого юзера уда...

Можно сделать какой нибудь хроно который раз в день мроходится по базе и удаляет неподтвержденных

Mr. Anderson 🇺🇦
В теоррии можно просто при создение юзера можно с ...

Норм вариант, не будет жрать память. В nest есть планировщик задач, под капотом нативный setTimeout

Mr. Anderson 🇺🇦
Хммм... а можно как то неподтверждённого юзера уда...

если используется редис в приложении, то токен можно хранить в нём и установить время жизни

Mr.-Anderson 🇺🇦 Автор вопроса

понял, спасибо, тоже вариант. Тогда можно вообще сразу неподтвержденного юзера в кэш писать, а потом только в базу кидать после подтверждения

Mr. Anderson 🇺🇦
понял, спасибо, тоже вариант. Тогда можно вообще с...

Редис не очень надёжное решение. Это будет работать до тех пор пока редис не ляжет.

Mr.-Anderson 🇺🇦 Автор вопроса
Тимур Косьминов
Редис не очень надёжное решение. Это будет работат...

как и любая база. Ляжет пострес и он уже не работает, лол)

Mr. Anderson 🇺🇦
так а с чего ему ложиться то?

Иногда так случается. Причина может быть любой. Кто-то его перезапустил например.

Mr.-Anderson 🇺🇦 Автор вопроса
Mr. Anderson 🇺🇦
у меня всё в докере

переподниматься только ночью будет для обнов, когда это не столь важно

Mr. Anderson 🇺🇦
понял, спасибо, тоже вариант. Тогда можно вообще с...

Ну юзера лучше в бд хранить, это ценные данные, даже если он не закончил регистрацию. Редис только для этого токена я бы не поднимал и планировщик тоже. Сделал бы отдельную таблицу с 'userId | token | expiresAt'. Очищал бы раз в год и старые токены при добавлении нового токена юзера. Ну или хранил бы токен прям в таблице юзера

Похожие вопросы

Обсуждают сегодня

@Benzenoid can you tell me the easiest, and safest way to bu.y HEX now?
Živa Žena
20
This is a question from my wife who make a fortune with memes 😂😂 About the Migration and Tokens: 1. How will the old tokens be migrated to the new $LGCYX network? What is th...
🍿 °anton°
2
What is the Dex situation? Agora team started with the Pnetwork for their dex which helped them both with integration. It’s completed but as you can see from the Pnetwork ann...
Ben
1
Anyone knows where there are some instructions or discort about failed bridge transactions ?
Jochem
21
@lozuk how do I get my phex copies of my ehex from a atomic wallet, to move to my rabby?
Justfrontin 👀
11
Hello, Is iExec also part of the "inception program" or another one ? Would it be a name to qualified the nature of the relationship between iExec and Nvidia? And does Secret ...
Ñïķøłäś
8
Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
any reference of this implementation?
BitBuddha
29
Also, why can’t the community have a vote/ say when it comes to initiatives like buybacks. Isn’t the point of crypto decentralisation? Don’t we deserve input as long term supp...
👨🏽‍🦰
13
Hi guys, any problem with Pulsebrige? Trying to transfer from wETH to ETH. First it tells me to connect my metamask "through mobile app" not desktop. Then I did and confirmed ...
Snowflakecrypto
13
Карта сайта