Set data protection application discriminators

This prevents cookie confusion when applications are hosted at the same domain and path. For example, under default settings, WebMVC may attempt to decrypt Identity's antiforgery cookie rather than its own.
This commit is contained in:
Charles Lowell 2017-03-15 08:57:01 -07:00
parent 1e6954b529
commit 68c3ebaf46
3 changed files with 15 additions and 0 deletions

View File

@ -54,6 +54,11 @@ namespace eShopOnContainers.Identity
services.Configure<AppSettings>(Configuration); services.Configure<AppSettings>(Configuration);
services.AddDataProtection(opts =>
{
opts.ApplicationDiscriminator = "eshop.identity";
});
services.AddMvc(); services.AddMvc();
services.AddTransient<IEmailSender, AuthMessageSender>(); services.AddTransient<IEmailSender, AuthMessageSender>();

View File

@ -41,6 +41,11 @@ namespace Microsoft.eShopOnContainers.WebMVC
// This method gets called by the runtime. Use this method to add services to the container. // This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services) public void ConfigureServices(IServiceCollection services)
{ {
services.AddDataProtection(opts =>
{
opts.ApplicationDiscriminator = "eshop.webmvc";
});
services.AddMvc(); services.AddMvc();
services.Configure<AppSettings>(Configuration); services.Configure<AppSettings>(Configuration);

View File

@ -41,6 +41,11 @@ namespace eShopConContainers.WebSPA
{ {
services.Configure<AppSettings>(Configuration); services.Configure<AppSettings>(Configuration);
services.AddDataProtection(opts =>
{
opts.ApplicationDiscriminator = "eshop.webspa";
});
services.AddAntiforgery(options => options.HeaderName = "X-XSRF-TOKEN"); services.AddAntiforgery(options => options.HeaderName = "X-XSRF-TOKEN");
services.AddMvc() services.AddMvc()