devpav
@devpav
Full-Stack разработчик.

Как правильно реализовать взаимодействия с сервером авторизации на стороне c#?

Существует сервер авторизации на spring boot oauth2.

C# приложение, которое выполняет какую-то бизнес логику.

Как правильно организовать авторизацию и аутентификацию с помощью сервера spring boot в c#.

Хочу получить следующее поведение:

1. Пользователь делает запрос на c# backend защищенный ресурс.
2. Пользователь попадает на страницу входа spring boot oauth2.
3. Сервер spring boot отдает идентификатор сессии.
4. Возвращается на фронт с сессией в cookie.
5. При очередном запросе к защищенному ресурсу на c# он проверяет идентификатор сессии и делает запрос за пользовательскими данными к spring boot oauth (он проверяет действует ли сессия).

Меня интересует обмен идентификатора сессии на пользовательские данные (пункт 5).

Как на стороне c# реализовать проверку сессии при каждом запросе к защищенному ресурсу в spring boot oauth?

Спасибо за любые ссылки/советы.
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 1
AshBlade
@AshBlade Куратор тега C#
Просто хочу быть счастливым
В OAuth используюся jwt токены преимущественно - про то чтобы передавать в куках не слышал/не реализовывал.
Так как используется OAuth 2.0 , то все зависит от роли бэка на шарпе:
- Если это просто API без вьюшек (HTTP), то тут лучше пользователя заставить самому предоставлять JWT и валидировать его на своей стороне
- Если это веб-приложение, то нужно использовать Authorization Code flow

В обоих случаях, когда токен протухнет тебе передаст сервер с успешным ответов в поле expires_in.
Вот тут про OAuth flow - https://kinde.com/guides/authentication/protocols/...
А вот тут что поддерживает Spring Boot OAuth - https://docs.spring.io/spring-security-oauth2-boot...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы