У меня есть расслабляющий API, разработанный с .net core 2.2.Я использую OpenIddict поток паролей для моей аутентификации, и он работает правильно.Но после генерации access_token я думаю, что он также генерирует куки.
Моя схема по умолчанию настроена с токеном, и мне не нужны никакие куки.Как я могу отключить его?
Это мои методы настройки служб для добавления аутентификации.
public void ConfigureServices(IServiceCollection services)
{
services.AddSignalR();
services.AddMvc(options =>
{
options.SslPort = int.Parse(Configuration.GetValue<string>("https_port"));
options.Filters.Add(typeof(RequireHttpsAttribute));
options.Filters.Add(typeof(JsonExceptionFilter));
})
.AddJsonOptions(p => p.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore);
services
.AddDbContextPool<ShopDb>(opt =>
{
var cs = Configuration.GetValue<string>("connectionstrings:HomeAppliancesStore");
opt.UseSqlServer(cs, p => p.MaxBatchSize(2));
opt.ConfigureWarnings(p => p.Throw(RelationalEventId.QueryClientEvaluationWarning));
opt.UseOpenIddict<Guid>();
});
services.AddIdentity<AppUser, AppRole>(opt =>
{
opt.Password.RequireUppercase = false;
opt.Password.RequiredUniqueChars = 0;
opt.Password.RequiredLength = 6;
opt.Password.RequireNonAlphanumeric = false;
opt.ClaimsIdentity.UserIdClaimType = OpenIdConnectConstants.Claims.Subject;
opt.ClaimsIdentity.UserNameClaimType = OpenIdConnectConstants.Claims.Name;
opt.ClaimsIdentity.RoleClaimType = OpenIdConnectConstants.Claims.Role;
})
.AddEntityFrameworkStores<ShopDb>()
.AddDefaultTokenProviders();
services.AddOpenIddict()
.AddCore(p =>
{
p.UseEntityFrameworkCore()
.UseDbContext<ShopDb>()
.ReplaceDefaultEntities<Guid>();
})
.AddServer(opt =>
{
opt.UseMvc();
opt.EnableTokenEndpoint("/token");
opt.EnableLogoutEndpoint("/logout");
opt.AllowPasswordFlow();
opt.AllowRefreshTokenFlow();
opt.AcceptAnonymousClients();
opt.DisableHttpsRequirement(); // just for development
opt.SetAccessTokenLifetime(TimeSpan.FromDays(1));
opt.SetIdentityTokenLifetime(TimeSpan.FromDays(1));
})
.AddValidation();
services.AddAuthentication(opt =>
{
opt.DefaultAuthenticateScheme = OpenIddictValidationDefaults.AuthenticationScheme;
opt.DefaultScheme = OpenIddictValidationDefaults.AuthenticationScheme;
opt.DefaultChallengeScheme = OpenIddictValidationDefaults.AuthenticationScheme;
});
services.AddAuthorization(opt =>
{
opt.AddPolicy(Constants.BossPolicy,
p => p.RequireClaim(Constants.RoleClaimName, new List<string> { Constants.ManagerClaimValue }));
});
// Removed for brevity
}