AspNetCore-使用Google身份验证时更改cookie名称



在ASP.NET 5、MVC 6中,我可以在选项中更改外部身份验证cookie的名称,但这似乎已从AspNetCore.IdentityRC2库中的新提供程序中删除。

我有这个设置;

class Startup {
   ...
   public void ConfigureServices(IServiceCollection services){
      services.AddIdentity<Member, Role> ... // identity wired up
   }
   public void Configure(IApplicationBuilder app, ILoggerFactory logger) {
      // .. other wiring
    app
        .UseIdentity()
        .UseGoogleAuthentication
        (new GoogleOptions {
            ClientId = Constants.Google.Client,
            ClientSecret = Constants.Google.Secret,
            Scope = {"email", "profile"}
        });
    app.UseMvc(routes => {
        routes.MapRoute(
            name: "default",
            template: "{controller=Home}/{action=Index}/{id?}");
         });
    }
}

过去有一个AuthenticationType属性,我可以将其设置为string,它将控制cookie名称;但那已经过去了。

我读过其他帖子,上面说要尝试SignInSchemeAuthenticationScheme,我照做了,但这会让我开始错误地认为有No Provider to Handle this Scheme

我能为它做点什么吗?

以下是如何替换用于外部cookie的默认名称。

services.AddIdentity<Member, Role>(options =>
{
    options.Cookies.ExternalCookie.CookieName = "name";
});

这是我在VS2017 中的工作

在Startup.cs ConfigureServices()中:

services.ConfigureApplicationCookie(options => {
  options.Cookie.Name = "NewCookieName";
});

ASP.NET Core 2.2

services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
    .AddCookie(options =>
    {
        options.Cookie.Name = "my_cookie";
    });

相关内容

  • 没有找到相关文章

最新更新