Пользовательский поставщик Oauth — добавьте авторизацию в использующее приложениеC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 Пользовательский поставщик Oauth — добавьте авторизацию в использующее приложение

Сообщение Гость »


Не знаю, как лучше это описать, но у меня есть приложение (.net framework 4.8) с собственным OAuthProvider. Вызов этого приложения A. Поставщик генерирует токен доступа на основе имени пользователя и пароля. При использовании приложения, если у него есть правильные роли, создается токен доступа для использования в приложении B. Приложение B — это приложение .net core 7. Существует ссылка на приложение B из приложения A, которая передает токен доступа вместе с токеном обновления и истекает. На данный момент, если срок действия токена обновления истечет, им необходимо снова войти в приложение A, чтобы получить новые токены.

В приложении A есть аутентификация, основанная на утверждениях, которые генерируются с помощью токена, и все это делается в приложении A. Приложение B просто передает токен носителя в запросах и на самом деле не знает, к чему у них есть доступ. В приложении A есть конечная точка, где вы можете получить некоторую информацию о пользователе и его ролях.

Я хочу добавить в приложение B какую-то авторизацию на основе ролей или политик, чтобы мне было легче контролировать и указывать, к каким API можно получить доступ. Как лучше всего это сделать?

Есть ли способ просто декодировать токен доступа и получить из него утверждения? Должен ли я добавить дополнительные параметры в ответ токена, где я просто передаю роли? В приложении A я могу добавить дополнительные параметры к ответу токена, вот так

context.AdditionalResponseParameters.Add("roles", context.Identity.Claims..); Есть ли хороший способ настроить схему аутентификации в приложении B с помощью чего-то вроде этого. Но в этом обработчике мне нужно снова вызвать API, чтобы получить то, к чему у них есть доступ.
услуги .AddAuthentication(o => { o.DefaultScheme = SecurityConstants.TokenAuthenticationDefaultScheme; }) .AddScheme(SecurityConstants.TokenAuthenticationDefaultScheme, o => { });
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»