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

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

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

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

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

19 ответов

16 просмотров

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

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'. Очищал бы раз в год и старые токены при добавлении нового токена юзера. Ну или хранил бы токен прям в таблице юзера

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

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

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
How about the project bro Likes the community not that active ?
🅿️abby_FX
19
How are we going bro about the Raids ??
🅿️abby_FX
13
Keep saying it, it’s Trump or WW3. Iran will be emboldened if Harris wins by cheating. Israel will have to take the initiative against Iran. How has BTC faired everytime the...
Adz | Ferrum Network Product & Service Consultant @ Ferrum Network
1
------------------------------------------------------------------------------ 📢 MAJOR ANNOUNCEMENT: HSUITE ECOSYSTEM UPDATE 📢 @everyone Dear HbarSuite Community, After month...
Big Stones
3
isnt that how its called? lol
Hobbyist
34
Ok I will use this example…there has been a crazy amount of meme coins launched on solana and more recently on xrp ledger, many of these memes have found their way on to diffe...
Stevo Payne
7
Hey guys, I am a first time Staker, I'm on Chrome browser on Hex dot com, I'm using rabby wallet with my ledger nano X, but when I click the STAKE button it doesn't prompt my ...
Slug
8
VIP-391 Multichain Governance - Permissions on Ethereum, Arbitrum one and opBNB Summary If passed, following the Community proposal “Venus Upgrade - Omnichain Money Markets”...
Venus Announcements
6
Does anyone in here have a contact with EOS Labs that we could ask what they've been doing with their funding?
Bytecode360 Katoshi [1337 f4rm3r]
13
Карта сайта