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

Всем привет! Делаю аутентификацию и регистрацию пользователя по номеру телефона

+ OTP на базе keycloak.
Логика аутентификации и регистрации такая:
1. Пользователь вводит номер телефона
2. На указанный номер телефона приходит СМС с OTP
3. После ввода OTP, если в БД не найден такой пользователь с указанным номером телефона, создается новый пользователь
4. Если пользователь найден, возвращается access и refresh токены

У меня затык на пункте 3 - keycloak же фактически основан на предоставлении кредов в виде username и password. Но в моей системе хотелось бы отказаться от паролей.
И полагаю, что у меня не получится создать пользователя в keycloak без пароля.
Появилась такая идея - отказаться от расширения keycloak и делегировать всё это дело на уровень бэкенда приложения. А при пункте 3, просто генерировать какой-то пароль в keycloak по паттерну тому или иному. Ну то есть бэкенд приложения всегда знает какой пароль у пользователя, Типа "номер телефона" + некий сикрет и все это в base64 завернуто.

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

Мб кто-то решал такую проблему?

8 ответов

18 просмотров

В КК можно создать пользователя без пароля (credentials), если вы об этом

Vyacheslav-Yashunin Автор вопроса
Sergey Bezrukov
В КК можно создать пользователя без пароля (creden...

А получить пару токенов потом можно будет?) Когда есть свой флоу кастомный с номером телефона и otp

клоака не завязана на пароли, ты можешь хоть через magic link, хоть через WebAuthN, хоть через SSO аутентифицировать юзера Тебе нужен просто другой флоу аутентификации. Ты можешь поискать в интернете готовые или сделать свой. Есть чат по клоаке, но здесь ссылка на него удаляется хз почему, сам найди

Vyacheslav-Yashunin Автор вопроса
Ayrat Hudaygulov
клоака не завязана на пароли, ты можешь хоть через...

Понятно) Почему-то казалось что КК не будет работать по иному Спасибо!

У вас ваш бэкэнд ходит в кейклок для регистрации или бэкэнд не участвует? Потому что первый подход прям плохой, хоть и противоречит oauth

Vyacheslav-Yashunin Автор вопроса

А почему первый подход считается плохим? В том плане что есть некое BFF приложение, которое в себе инкапсулирует простой клиентский путь

Vyacheslav Yashunin
А почему первый подход считается плохим? В том пла...

В том, что идея oauth - это идея о предоставлении identity третьей стороне, которая ничего не знает, иначе оно нарушает всю идею, хоть “password flow” существует в стандарте

https://developers.redhat.com/blog/2020/10/23/use-mobile-numbers-for-user-authentication-in-keycloak

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта