У меня есть 2 проекта API и Auth Server с использованием asp. net core 3.1. В проекте API я использую проверку подлинности токена сервера идентификации 4 для проверки токена Я также использую идентификатор в проекте API.
Ниже приведен код для проверки токена в проекте API
var authAuthority = "https://localhost:5000"; // Configuration["BlazorBoilerplate:IS4ApplicationUrl"].TrimEnd('/');
var authBuilder = services.AddAuthentication(options =>
{
options.DefaultScheme = IdentityServerAuthenticationDefaults.AuthenticationScheme;
})
.AddIdentityServerAuthentication(options =>
{
options.Authority = authAuthority;
options.SupportedTokens = SupportedTokens.Jwt;
options.RequireHttpsMetadata = false;
options.ApiName = "weatherapi";
});
После проверки токена утверждения пользователя отображаются в объекте httpContext.User.Identity. Просьба ссылаться на снимок экрана.
Если я добавил службу идентификации к приведенному ниже коду в классе ConfigureServices.
public void ConfigureServices(IServiceCollection services)
{
services.AddIdentity<User, Role>()
.AddRoles<Role>()
.AddEntityFrameworkStores<CBSContext>()
.AddDefaultTokenProviders();
}
После добавления службы идентификации asp. net, AuthorizationHandlerContext будет пустым. .. Есть ли какая-либо связь между службой идентификации и проверкой токена сервера идентификации.
- Аутентификация пользователя на сервере аутентификации --- Работает идеально
Мне нужно использовать пользователя / роль менеджер идентичности в проекте API. Я просто хотел поменять сервисы. AddDefaultIdentity для проверки подлинности сервера идентификации i, как это сделать?
Пожалуйста, предложите ..