У меня есть API с именем MyApi, и я использую другое asp. net базовое приложение с Identityserver4 для Protect MyApi. Теперь у меня нет проблем в MyApi, но я хочу сохранить NationalCode
своих пользователей. , Поэтому я должен сохранить это в моей базе данных IdentityServer, но не могу получить идентификатор пользователя (с User.Identity.Name) в моем проекте IdentityServer, у меня была та же проблема в моем предыдущем вопросе
User.Identity .Name имеет значение null в моем ASP. NET Core Web API
Теперь у меня есть эта проблема в моем проекте IdentityServer4, поэтому
Могу ли я использовать токен MyApi Или я получить новый токен для отправки запроса в мой проект idenittyserver4?
Если я могу использовать токен MyAPI, как добавить конфигурацию для решения проблемы?
Если мне нужно взять новый токен для моего IdentityServer4 проект, мне нужно, чтобы пользователи могли снова войти? !!!
Редактировать
Я нашел туториал в ссылке ниже, но Моя проблема еще не решена.
http://docs.identityserver.io/en/latest/topics/add_apis.html
У меня есть семя моя IdentityDatabase с методом ниже
public async Task AddIdenityServerApiToResources(IApplicationBuilder app)
{
using (var serviceScope = app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
{
serviceScope.ServiceProvider.GetRequiredService<PersistedGrantDbContext>().Database.Migrate();
var ccontext = serviceScope.ServiceProvider.GetRequiredService<ConfigurationDbContext>();
ccontext.Database.Migrate();
//=============================================================
ccontext.ApiResources.Add(new ApiResource(IdentityServerConstants.LocalApi.ScopeName) {
UserClaims =
{
JwtClaimTypes.Name,
JwtClaimTypes.Subject,
JwtClaimTypes.Role,
}
}.ToEntity());
//Add ApiResource To Client's Scope
var Clients = ccontext.Clients.Include(e => e.AllowedScopes);
foreach (var item in Clients)
{
item.AllowedScopes.Add(new IdentityServer4.EntityFramework.Entities.ClientScope() { Scope = IdentityServerConstants.LocalApi.ScopeName });
}
var Count = await ccontext.SaveChangesAsync();
if (Count > 0)
{
}
}
}