C# WebAPI C中的浏览器基本身份验证#

C# WebAPI C中的浏览器基本身份验证#,c#,asp.net,authentication,webapi,C#,Asp.net,Authentication,Webapi,希望你们都好 我正在创建一个简单的ASP.NET WebAPI,我想使用弹出式基本身份验证进行身份验证。我们可以在创建WebAPI项目时启用个人身份验证,但我不希望这样。我希望最终用户直接传递一个令牌作为密码,传递一个公共字符串作为用户名,并在我的代码中读取该令牌。我甚至不确定这是否可能 我已经创建了GET和GET(id),这两个请求都需要通过基本身份验证进行身份验证。 谢谢。用户通常不会直接访问API(应用程序编程接口)。您真的希望用户在每次请求时输入用户名和密码/令牌吗?为什么要使用基本身

希望你们都好

我正在创建一个简单的ASP.NET WebAPI,我想使用弹出式基本身份验证进行身份验证。我们可以在创建WebAPI项目时启用个人身份验证,但我不希望这样。我希望最终用户直接传递一个令牌作为密码,传递一个公共字符串作为用户名,并在我的代码中读取该令牌。我甚至不确定这是否可能

我已经创建了GET和GET(id),这两个请求都需要通过基本身份验证进行身份验证。
谢谢。

用户通常不会直接访问API(应用程序编程接口)。您真的希望用户在每次请求时输入用户名和密码/令牌吗?为什么要使用基本身份验证?你见过使用这个的API吗?不,我想不是。使用正确的工具进行作业。API的设计目的不是让用户直接访问,而是让应用程序直接访问。他们通常会使用诸如密钥和密码之类的东西进行身份验证,然后将其交换为可重复使用的令牌,或者使用众所周知且受良好支持的机制,如OAuth(无论如何都会涉及这类事情)。ASP.NET支持大多数或所有标准方法。在较新的.NET(Core和5)中,添加功能特别简单。我的API不会被用户直接访问,但会被PowerBI使用。数据将以JSON的形式交付,用户希望报告该JSON数据。我创建了一个API,可以通过hostname/API/Report/?Token=访问该API。我希望避免将令牌作为URL参数,这就是为什么我想到弹出基本身份验证,这是PowerBI中的另一种登录身份验证机制。用户可以从浏览器cookie中代理各自的令牌,这是他们已经在做的事情。@GurdasSaggu同意ADyson的意见。但是,如果您只是在寻找一种解决方案来避免在URL中包含令牌,那么您可以将其移动到HTTP头。通常,对于令牌身份验证,您使用授权承载头。是的,我可以,但我不认为我可以在一天内交付。我可以考虑提出这个建议,如果他们同意时间表,我将来可能会这样做。