Чистое основное приложение.Я реализовал аутентификацию с использованием подхода OAuth v2.Сейчас я пытаюсь включить групповые заявки в свой токен JWT.Я сделал ниже изменения в моем манифесте.Я не могу получить группы, когда я аутентифицируюсь через swagger.
"groupMembershipClaims": "All",
"optionalClaims": {
"accessToken": [{
"name": "groups"
}]
}
Мало групп в облаке и несколько групп в Windows server AD.После внесения вышеуказанных изменений я не вижу деталей групп в своих претензиях.Ниже приведен мой код.
services.AddAuthentication(o =>
{
o.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(o =>
{
o.Authority = azureActiveDirectoryOptions.Authority;
o.TokenValidationParameters = new TokenValidationParameters
{
ValidAudiences = new List<string>
{
azureActiveDirectoryOptions.AppIdUri,
azureActiveDirectoryOptions.ClientId
},
};
});
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
c.AddSecurityDefinition("oauth2", new OAuth2Scheme
{
Type = "oauth2",
Flow = "implicit",
AuthorizationUrl = swaggerUIOptions.AuthorizationUrl,
TokenUrl = swaggerUIOptions.TokenUrl,
Scopes = new Dictionary<string, string>
{
{"Read", "id/.default" }
}
});
c.AddSecurityRequirement(new Dictionary<string, IEnumerable<string>>
{
{ "oauth2", new[] { "readAccess", "writeAccess" } }
});
});
Ниже приведен метод настройки.
app.UseSwaggerUI(c =>
{
c.OAuthClientId(swaggerUIOptions.ClientId);
c.OAuthClientSecret(swaggerUIOptions.ClientSecret);
c.OAuthRealm(azureActiveDirectoryOptions.ClientId);
c.OAuthAppName("Swagger");
c.OAuthAdditionalQueryStringParams(new { resource = azureActiveDirectoryOptions.ClientId });
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
Я могу получить информацию о группе с помощью почтальона, но не в аутентификации моего чванства.Может ли кто-нибудь помочь мне выяснить, в чем проблема и почему я не могу видеть детали группы?Нужно ли что-то настраивать в портале Azure?Любая помощь будет оценена.Спасибо