在我的扩展程序清单中,我有:
"permissions": [
"cookies",
"https://localhost:5001/"
]
在我的Startup.cs ConfigureServices方法中,我有:
services.AddCors(options =>
{
options.AddPolicy(MyAllowSpecificOrigins,
builder =>
{
builder.WithOrigins("https://localhost:5001/",
"chrome-extension://mdgfojbohoeindggojmfcphhobepgcbk/");
});
});
在Startup.cs Configure方法中,我有:
app.UseCors(MyAllowSpecificOrigins);
到目前为止,我已经尝试过:
window.open('Url_of_signin_page')
,然后在用户登录后重定向到原始页面。这将设置auth cookie,并且当我浏览到需要手动进行身份验证的端点时,它会起作用。但是,XMLHttpRequest
调用不会发送cookie。@Html.AntiForgeryToken()
显式添加到登录表单中,防伪令牌验证也会失败。最终,我希望用户能够登录MVC Core应用,并使扩展名能够向该MVC Core应用发出经过身份验证的请求。这可能吗?如果可以,怎么办?
编辑以添加:我正在XmlHttpRequest上设置withCredentials = true。