OAuth 2.0 элегантно прост или чрезвычайно сложен в зависимости от вашего понимания технологии и способа осуществления авторизации.
Я новичок в OAuth 2.0 и OpenIDConnect. Я хочу спросить, действительно ли это так? Необходимо ли реализовать OAuth 2.0 и OpenIDConnect для нашего входа в систему, зарегистрировать поток нашего собственного клиентского приложения (приложения для мобильных устройств и приложения на стороне сервера)?
Нет, это не нужно реализовывать. Существует много способов аутентификации и авторизации. OAuth - только один из самых популярных методов.
Более простой и ужасный способ - просто ввести имя пользователя и пароли для ваших пользователей. Упрощенный, в данном случае, является относительным термином, так как теперь вам нужно беспокоиться о том, чтобы хранить имена пользователей и пароли в надежном месте.
OAuth можно использовать для обеспечения открытого доступа к вашему веб-сайту, приложениям (конечные точки REST) иБольше. OAuth может использоваться для авторизации между серверами. В конце концов, OAuth - это просто метод создания токена, который предоставляется службе. Служба проверяет права доступа к этому токену и отклоняет или обрабатывает запрос.
Авторизация и аутентификация - это домены, для правильной реализации которых требуется большой опыт. Есть много нюансов для рассмотрения. Вот почему так много компаний нарушено, они делают это неправильно или применяют слабые методы. В одной компании, которую я посетил для аудита, я записал 10 имен пользователей и паролей, потому что у всех на мониторах были заметки желтого цвета. Даже самая лучшая реализация OAuth будет иметь проблемы с таким уровнем безопасности.