Pull to refresh

Comments 4

Куча слов про предыдущий пост, а где ссылка то на него?

Концовка класс. Код контроллера не показали, но запросы куда отправили. Я понимаю, что это было в каком-то другом посте, можно было хотя бы ссылку дать.

Шел 2020 год, а люди все ещё пишут как настроить аутентификацию через spring security

Ребята, если вы сособны сформулировать цели аутентификации API только так:


API предоставляют простой интерфейс для взаимодействия с внутренними данными, поэтому имеет смысл, чтобы вы не хотели, чтобы кто попало имел доступ к этим данным и их изменению. Аутентификация гарантирует, что только заслуживающие доверия пользователи смогут получить доступ к API.

То вам не стоит вести какие-либо курсы, хоть краем задевающие вопросы security приложений. Правда.


Spring security предоставляет обе стороны медали: и authentication и authorization. Давайте посмотрим, что это вообще такое: Аутентификация — мы сопосотовляем пользователя и его данные. Т.е. в процессе логина мы определяем, что вот в этой сессии мы работаем с пользователем user_a. Что же такое авторизация? А это процесс, когда мы смотрим у пользователя user_a его права/роли и понимаем, может ли он вообще пользоваться тем или иным API.


И это только первый, самый основной кусок, который не упомянут. Что же ещё вы здесь пропустили? Да то, что API, вообще говоря, бывает публичным (и ему никакой авторизации не надо), бывает общим-пользовательским (и требует авторизации любого уровня… такой вариант реализован, например, для ряда форумов, где без регистрации вы даже почитать не можете), а бывает специфично-ролевым (требует специальной роли у пользователя, например админ-панель требует прав уровня администратора).


Итак, как же правильно должен звучать ВАШ абзац:


API это по сути интерфейс взаимодействия внешних систем с внутренними данными, при этом некоторые данные могут быть публичными и не требовать авторизации, некоторые данные требуют общих прав (обычно — чтение данных или пост в своём паблике), а некоторые данные и методы API требуют специфиеской роли (например админка). Для этого необходимо настроить авторизацию — общие данные, данные требующие аутентифицированного пользователя, данные требующие определённых ролей у аутентифицирующего пользователя. Это и есть авторизация доступа.

PS и да, не стоит писать статьи, если вы владеете информацией поверхностно. Авторизация и аутентификация — качественно разные действия.

Sign up to leave a comment.