api 中的表单身份验证在将客户端应用程序迁移到 Azure 身份验证后不起作用

Form authentication in api not working after migrating client app to azure authentication

我有两个应用程序 API 和客户端。当他们都使用带有机器密钥的表单身份验证时,两人工作正常。使用 OpenId 和 OWIN 将客户端应用程序迁移到 Azure 身份验证后,客户端一切正常,用户可以毫无问题地登录到客户端。

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

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

收到 401

问题是您无法将客户端的 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)