【问题标题】:Form authentication in api not working after migrating client app to azure authentication将客户端应用程序迁移到 Azure 身份验证后,API 中的表单身份验证不起作用
【发布时间】:2019-09-04 19:52:24
【问题描述】:

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

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

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

【问题讨论】:

  • 如果您的客户端应用程序使用 OpenIDConnect,您还必须为 API 设置 OpenIDConnect 以使其工作。表单使用 cookie,但 OpenIDConnect 使用令牌。这是两个不同的概念。看看这个样本 => github.com/Azure-Samples/…
  • 谢谢你!我得到了你的建议。
  • 不客气。请确认我发布的答案。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-03-18
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 1970-01-01
    • 2018-06-21
    • 2014-01-26
    • 1970-01-01
    相关资源
    最近更新 更多