ASP.NET MVC API - 使用用户名,密码和另一个字段进行身份验证

时间:2016-02-02 14:54:19

标签: c# asp.net .net api authentication

我有一个ASP.NET API,它使用基本身份验证来验证用户请求。新的设计要求意味着我现在必须使用3个字段进行身份验证(而不仅仅是用户名和密码)。

最好的方法是什么?我尝试将第三个字段插入体内并根据要求阅读。这有效,但感觉不对。有没有办法让第三个字段成为授权标题的一部分?

修改

我在用户名中添加了第三个字段(用' |'分隔)。 HTTP模块在到达时对报头进行解码和分割,从而允许3个字段请求认证。简单的解决方案。

2 个答案:

答案 0 :(得分:1)

您可以将第三个字段放入另一个标题中。或者使用某种分隔符并将第三个字段连接到auth标头中。

答案 1 :(得分:1)

您无法在标题中添加任何其他内容 - 您只允许用户名密码(Base64编码)。您可以添加其他标头或将数据包含在请求正文中。

基本身份验证并不实用 - 特别是对于像浏览器中运行的JavaScript应用程序这样的东西。您最终必须在服务器上代理API,因为否则会将凭据泄露给知道如何打开浏览器开发工具的任何人。

我希望使用基于令牌的方法来保护您的API。例如。 JWT或OAuth。