特定用户代理的不同身份cookie名称

问题描述 投票:0回答:1

我想为通过移动应用程序登录的用户设置自定义 ASP.NET Core Identity cookie 名称。 我从用户代理字符串中获取此信息。

我想知道如何配置不同的默认

.Aspnetcore.Identity.Application
cookie 名称。

我正在使用.NET8 和 Umbraco 13

我尝试创建自定义

CookieAuthenticationEvents

 public class CustomCookieAuthenticationEvents : CookieAuthenticationEvents
 {
     public override Task SigningIn(CookieSigningInContext context)
     {
         var userAgent = context.HttpContext.Request.Headers["User-Agent"].ToString();

         // Define logic for naming cookies based on the user-agent
         if (userAgent.Contains("custom-user-agent"))
         {
             context.Options.Cookie.Name = "MobileAuthCookie";
         }
         else
         {
             context.Options.Cookie.Name = "DefaultAuthCookie";
         }

         return base.SigningIn(context);
     }
 }

并注册:

builder.Services.ConfigureApplicationCookie(cookie => cookie.EventsType = typeof(CustomCookieAuthenticationEvents));

但是当我登录时,

SigningIn
方法永远不会被执行。

asp.net-core asp.net-identity umbraco
1个回答
0
投票

要更改 cookie 的名称,则它由身份验证 cookie 处理程序控制,您可以使用以下方式控制它:

.AddCookie("cookie", options =>
{
   options.Cookie.Name = ".ASPXAUTH";
});
© www.soinside.com 2019 - 2024. All rights reserved.