c# - Web API 中的身份验证

标签 c# authentication asp.net-web-api2 httpclient

我知道这是一个很常见的问题。但我真的不知道如何整合它。 我想向我的 Web API 服务添加身份验证。现在我已经创建了一个控制台应用程序来调用服务的方法。

我已经完成了这个blog .我只想实现本文中提到的身份验证过滤器。

我想知道如何从我的控制台应用程序将凭据与 HTTPClient 一起传递,将这些东西获取到 Web API 并对其进行身份验证。

我已经创建了身份验证过滤器,但它没有调用身份验证过滤器的 AuthenticateAsync 方法。

为了传递 http 客户端,我这样做了:

 public void GetData()
    {
        HttpClient cons = new HttpClient();
        cons.BaseAddress = new Uri("http://localhost:50524/");
        cons.DefaultRequestHeaders.Accept.Clear();
        cons.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        var data = Encoding.ASCII.GetBytes("Ankita:ankita123");
        var header = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(data));
        cons.DefaultRequestHeaders.Authorization = header;

        //MyAPIPost(cons).Wait();
        MyAPIGet(cons).Wait();
    }

最佳答案

教您如何在 Web API 中实现身份验证将花费大量时间。你最好坚持使用在线教程。

您阅读的博客解决了 ASP.NET 的不同身份验证问题。由于您已将问题标记为 ASP.NET Web API 2,因此我建议使用 OWIN 中间件进行基于 token 的身份验证。检查this出去。该指南使用控制台应用程序来检查对 Web API 的请求。

它的要点是...

客户端 > token 提供者(为有效用户生成 token )> Web API > 检查 token 是否有效(存在且未过期)> 验证!

关于c# - Web API 中的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38300352/

相关文章:

c# - 从 HTML 子类获取数据

php - 没有在symfony中获得authenticationUtils的auth错误

c# - 最大长度不起作用 Web API 2 模型

C# 可能有一个通用的返回类型吗?

c# - 水平对齐两个按钮 mvc5 razor c#

c# - 将天数转换为人类可读的持续时间文本

python - Flask登录成功返回路由:/NONE

WCF 身份验证策略

c# - HTTP 发布到 Web API 2 - 选项请求已收到并已处理未收到进一步的请求

datetime - 将模型从 Angular 6 提交到 Web API 后,日期变得晚了一 (1) 天