将客户端应用迁移到Azure身份验证后,API中的表单身份验证无法正常工作

时间:2019-09-04 19:52:24

标签: asp.net-mvc owin openid forms-authentication

我有两个应用程序API和客户端。当他们两个都使用带有机器密钥的Forms身份验证时,两者工作正常。使用OpenId和OWIN将客户端应用迁移到Azure身份验证后,客户端一切正常,用户可以登录而不会出现客户端问题。

问题是客户端现在尝试调用API时出现401错误。

我试图在客户端中生成表单身份验证cookie,并将其添加到响应中。我可以看到其中有cookie,但仍然可以从API中获得401。

1 个答案:

答案 0 :(得分:0)

问题是您不能在客户端将OpenIdConnect与在服务器端将Forms身份验证结合在一起。

您必须同时设置客户端和服务器以使用相同的身份验证。如果您在客户端上使用OpenIdConnect,则也需要在服务器端设置OpenIdConnect。

GitHub上有一个示例,可以帮助您了解如何做。

How to secure a Web API built with ASP.NET Core using the Microsoft identity platform (formerly Azure Active Directory for developers)