繁体   English   中英

如何调用 Web API 使用 ASP.NET Core 构建的 Z2705A83A5A0659CEDACE37458 中的 Microsoft 标识平台

[英]How to call a Web API built with ASP.NET Core using the Microsoft identity platform from ajax

我正在开发一个 Asp.Net 核心 web 应用程序和 WebApi。 两者都通过 AzureAD 使用身份平台进行保护。 我已经按照github上发布的几个示例来实施我的解决方案。

一切都按预期工作,即用户需要先登录才能访问 web 应用程序,然后可以从 MVC controller 调用 WebApi 端点,而不会出现任何问题。

但是,有一个用例我无法用我的应用程序解决。 现在我需要使用 Ajax 从 MVC 视图调用这些端点,而不是从 MVC controller 调用 WebApi。 但是,我得到了 401,我认为这是正确的,因为我没有发送不记名令牌。 我的问题是如何获得这个令牌? 这种情况有没有样本?

我对 dotnet 真的很陌生,我很困惑为什么要在这个示例中使用 AJAX。 我按照教程运行代码。 经过我的调试,我找到了获取访问令牌的代码(TodolistClient/Services/TodolistService.cs/PrepareAuthenticatedClient)。通过令牌,服务器可以获取用户信息并将model返回到页面。 流量看起来很棒。

重要的一点是获取访问令牌的 function 来自 SDK 所以似乎不可能获取令牌并将其添加到您的 ajax 方法中。

我的想法是您可以将访问令牌保存到适合您项目的另一个地方,并编写一个特定的方法来获取令牌,以便您可以在任何地方使用它。

顺便说一句,为什么不添加更多的项目描述,也许有人可能会提供一个非常相似的示例。 希望它会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM