Ciao,
Я работаю с IdentityServer4 с целью защиты API ресурса и раскрытия идентификационного сервера внутри моей организации.
Так что на самом деле у меня есть эти элементы:
- Сервер авторизации
- Ресурсы API
- Клиент (SPA-приложение)
Я хочу защитить свой API с помощью области действия и отдельных действий, к которым обращаются роли пользователя. Так, например, у меня есть этот apis:
- API 1 (Scope API 1)
- Action1.1 <-- Only admin
- Action1.2 <-- Only manager
- Action1.3 <-- Only manager
- API 2 (Scope API 2)
- Action2.1 <-- Admin and manager
- Action2.2 <-- Only users
- Action2.3 <-- Only users
Я знаю, что протокол OAuth2 предназначен для авторизации (с его access_token), а OpenID Connect обогащает протокол OAuth2, поддерживающий аутентификацию (с его identity_token).
Я бы знал, каковы наилучшие практики для достижения моей цели. Я нашел два варианта:
- Отправка в API-ресурсы identity_token и authorization_token (чтобы я мог просматривать роль пользователя с помощью identity_token и получать доступ к области действия).
- Добавление роли в access_token.
Какая лучшая практика? Любой совет приветствуется
Спасибо