Пользовательский поставщик Oauth — добавьте авторизацию в использующее приложение ⇐ 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 => { });
Не знаю, как лучше это описать, но у меня есть приложение (.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 => { });
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение