Я пытаюсь защитить REST API с помощью механизмов авторизации keycloak. Мой API находится в NodeJS с экспрессом.
Скажем, у меня есть этот API:
http://www.example.com/api/v1/houses
Конечная точка поддерживает GET / POST / PUT / DELETE. У дома есть имя и хозяин:
{
name: 'myhouse',
owner: 'smith'
}
Все могут смотреть дома. Вы также можете создавать дома и автоматически становиться владельцем. Только владелец может удалить дом. Это похоже на пример photoz.
Использование Keycloak Connect в режиме только носителя работает с nodeJS express:
router.get('/houses*', keycloakProtect(), myHandler)
Но это обеспечивает только аутентификацию, а не авторизацию. По сути, он просто проверяет, что вы предоставили правильный токен. KeycloakProtect предоставляет элементарный механизм авторизации на основе только по именам ролей. Однако я хотел бы использовать все возможности авторизации клиентов (с ресурсами, областями действия и политиками) ... Есть ли для этого поддержка NodeJS? Если нет, как использовать для этого Keycloak API?