Я ввожу логин в новом собственном приложении (iOS и Android) и решаю, какой тип аутентификации принять.В отношении OAuth есть несколько довольно четких указаний, согласно которым это должно быть сделано с использованием внешнего агента (браузера), и это приводит меня к предоставлению кода авторизации с PKCE
https://tools.ietf.org/html/rfc8252
Реализация здесь:https://appauth.io/
Однако мои дизайнеры и владельцы продуктов настроены скептически.Они не очень видят такой тип входа (им не нравится адресная строка) и хотят изучить опцию «Учетные данные для пароля владельца ресурса».По сути прямой логин.Их аргумент в том, что это просто и знакомо.
Я не хочу ставить под угрозу безопасность, и поэтому я сопротивляюсь этой опции.Но ... Я прочитал некоторые статьи, которые, кажется, предполагают, что это может быть безопасно, если я динамически генерирую клиента, используемого для запроса авторизации:
https://tools.ietf.org/html/rfc6749#section-10.1
АвторизацияСервер НЕ ДОЛЖЕН выдавать клиентские пароли или другие
клиентские учетные данные для собственного приложения или клиентских приложений
на основе агента пользователя с целью аутентификации клиента. Сервер авторизации
МОЖЕТ выдать пароль клиента или другие учетные данные для конкретной установки нативного клиента приложения на определенное устройство
.
Это резервное копированиедокументация AppAuth здесь:
https://github.com/openid/AppAuth-Android#dynamic-client-registration
https://tools.ietf.org/html/rfc7591
Правильно ли я интерпретирую это?Я рассматриваю начальную регистрацию пользователя в приложении, которое возвращает токен доступа, который можно использовать для динамического создания клиента (с секретом), который можно использовать для входа в систему с использованием ROPC.
Я думаю, что для обеспечения безопасности этот динамически генерируемый клиент должен использоваться только для входа в систему для одного пользователя - один клиент на пользователя, но, возможно, один клиент на устройство также достаточно безопасен.
Кажется, это немного «рука скатилась», поэтому я нервничаю.Прав ли я быть таким?