Наприклад, коли користувач має вхід у систему.Зараз скажемо, що користувач хоче створити тему форуму, як я можу знати, що користувач уже увійшов до системи?
Подумайте над цим - має бути певне рукостискання, яке скаже вашому API "Створити форум", що цей поточний запит від автентифікованого користувача. Оскільки API REST, як правило, є без громадянства, стан повинен зберігатися десь . Ваш клієнт, що споживає API REST, несе відповідальність за підтримку цього стану. Зазвичай це у вигляді деякого маркера, який передається з моменту входу користувача. Якщо маркер хороший, ваш запит хороший.
Перевірте, як Amazon AWS робить аутентифікацію. Це прекрасний приклад "передачі долара" з одного API в інший.
* Я думав додати деяку практичну відповідь до своєї попередньої відповіді. Спробуйте Apache Shiro (або будь-яку бібліотеку аутентифікації / авторизації). Підсумок, намагайтеся уникати спеціального кодування. Після інтеграції улюбленої бібліотеки (я використовую Apache Shiro, btw), ви можете зробити наступне:
- Створіть API входу / виходу, як:
/api/v1/login
іapi/v1/logout
- У цих API для входу та виходу виконайте аутентифікацію з вашим магазином користувачів
- Результат - це маркер (як правило,
JSESSIONID
), який надсилається назад клієнту (веб, мобільний, будь-який інший)
- З цього моменту всі наступні дзвінки, здійснені вашим клієнтом, включатимуть цей маркер
- Скажімо, наступний дзвінок зроблений в API, який називається
/api/v1/findUser
- Перше, що цей код API зробить - це перевірити маркер ("чи справжній користувач перевірений?")
- Якщо відповідь повернеться як "НІ", ви повернете на клієнта статус HTTP 401. Нехай вони впораються.
- Якщо відповідь ТАК, перейдіть до повернення запитуваного Користувача
Це все. Сподіваюся, це допомагає.