【发布时间】:2021-02-08 22:36:18
【问题描述】:
我们有一个应用程序,它也有一些应该使用身份验证令牌调用的 api 控制器,还有一些其他 api/常规控制器应该使用基于开放 id 连接 cookie 的身份验证。下面是来自 Startup.Auth.cs 的代码
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseKentorOwinCookieSaver();
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{ CookieSecure = CookieSecureOption.Always });
app.UseOpenIdConnectAuthentication(CreateOptionsFromPolicy(PasswordResetPolicyId));
app.UseOpenIdConnectAuthentication(CreateOptionsFromPolicy(SignUpSignInPolicyId));
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Tenant = ConfigurationManager.AppSettings["ida:Tenant"],
TokenValidationParameters = new TokenValidationParameters
{
ValidAudience = ConfigurationManager.AppSettings["ida:Audience"]
},
});
}
我们有一个差异窗口应用程序,在添加用户凭据后应该使用令牌调用 api 控制器方法。它确实调用了 api 方法,但作为响应,我们得到了一个 html 登录页面 ui 代码。收到 OK 状态,但我们应该获取 api 方法返回的值,而不是这个登录页面代码。此方法不会被执行,因为身份验证会以某种方式产生问题。
【问题讨论】:
标签: asp.net-mvc api openid-connect azure-ad-b2c azure-authentication