IdentityServer на Mvc: что ссылается аудитория в AddJwtBearer
У меня уже есть токен доступа, работающий с моим приложением в моем API-шлюзе.
var identityUrl = Configuration.GetValue<string>("urls:identity");
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(options =>
{
options.Authority = Configuration.GetValue<string>("IdentityUrlExternal");
options.RequireHttpsMetadata = false;
options.Audience = "api1";
options.Events = new JwtBearerEvents()
На что ссылается аудитория в AddJwtBearer. Это относится к ClientId или ApiScope. На данный момент я основывался на настройке своего мобильного приложения для связи со шлюзом API. Если я изменил что-то, например, идентификатор клиента, отправленный с мобильного телефона (ro.client), я не смогу получить доступ к авторизованной функции API.
Я хотел бы получить четкое представление о том, что мои настройки правильные. Спасибо
Кроме того, как добавить Authorized Scope в основной проект ASP.net mvc под контроллером.
2 ответа
Следующая ссылка приведет вас к объяснению: http://docs.identityserver.io/en/latest/topics/apis.html
Свойство ApiName проверяет, есть ли у токена соответствующее утверждение аудитории (или короткая аудиторская проверка).
В IdentityServer вы также можете разделить API на несколько областей. Если вам нужна такая детализация, вы можете использовать систему политик авторизации ASP.NET Core для проверки областей.
Аудитория — это уникальный идентификатор выпущенного токена. Значение аудитории может быть либо идентификатором клиента для токена идентификатора, либо API для токена доступа.
В вашем проекте вы можете общаться с API1 , добавляя его в область вашего приложения.