Дуже коротко про ці важливі поняття, бо багато хто не знає, що воно таке. Самі назви запамʼятовувати не обовʼязково, але важливо розуміти, які етапи контролю доступу до системи в нас є.
Автентифікація
Простими словами, система запитує: Хто ти?
Наприклад, ти вводиш свій email і пароль. Якщо вони правильні, система ідентифікує тебе як конкретного користувача і видає JWT токен.
Цей токен потім використовується в наступних запитах, щоб система розуміла, від імені якого користувача виконується дія.
Авторизація
Простими словами, система визначає: Що тобі дозволено робити?
Після того, як система зрозуміла хто ти, тобто перевірила чи JWT токен валідний, вона має визначити чи тобі дозволена операція.
Є багато способів це зробити, але ось декілька в якості прикладу:
RBAC (role-based access control) - доступ визначається через ролі, наприклад:
admin, moderator, user.PBAC (permission-based access control) - доступ визначається через конкретні permissions, тобто дозволи на окремі дії. Наприклад:
user:create, user:delete, post:update, billing:read.