Мне было интересно, может ли кто-нибудь объяснить мне, для чего используется AddInMemoryIdentityResources
при регистрации сервера идентификации во время запуска. Из приведенных примеров видно, что это выглядит так (обратите внимание на код между комментариями):
services.AddIdentityServer()
.AddDeveloperSigningCredential()
.AddInMemoryPersistedGrants()
//********************
.AddInMemoryIdentityResources(Config.GetIdentityResources())
//********************
.AddInMemoryApiResources(configurationManager.GetApiResources())
.AddInMemoryClients(configurationManager.GetClients())
.AddAspNetIdentity<User>();
Тогда файл конфигурации выглядит примерно так:
public static IEnumerable<IdentityResource> GetIdentityResources()
{
return new List<IdentityResource>
{
new IdentityResources.OpenId(),
new IdentityResources.Profile(),
};
}
Теперь я подумал, что когда вы объявляете клиента, вы определяете области действия, которые в основном говорят, что вам разрешено передавать имя пользователя, идентификатор и т. Д. Однако, какой смысл в этом утверждении .AddInMemoryIdentityResources(Config.GetIdentityResources())
, как кажется сделать то же самое, но все же глобально, поскольку не привязано ни к какому клиенту?