我有一个ASP.NET API,它使用基本身份验证来验证用户请求。一个新的设计要求意味着我现在必须使用3个字段(不仅仅是用户名和密码)进行身份验证。
解决这个问题的最好方法是什么?我试着把第三个字段插入身体,并根据要求阅读。这很管用,但感觉不对。是否存在第三个字段可以成为授权头的一部分的方式?
编辑
我在用户名中添加了第三个字段(用‘AC.26’分隔)。HTTP模块在到达时对报头进行解码和拆分,从而允许进行3个字段请求身份验证。简单的解决办法。
发布于 2016-02-02 07:43:39
您可以将第三个字段放到另一个标题中。或者使用某种分隔符并将第三个字段连接到auth标头中。
发布于 2016-02-02 07:43:54
您不能在标题中添加任何其他内容--您只允许使用usernamepassword (Base64编码)。可以添加额外的标头或将数据包括在请求正文中。
基本身份验证并不完全实用,特别是对于运行在浏览器中的JavaScript应用程序。您将不得不在服务器上代理API,因为否则您会向任何知道如何打开浏览器开发工具的人泄漏凭据。
我会考虑使用基于令牌的方法来保护您的API。例如JWT或OAuth。
https://stackoverflow.com/questions/35156705
复制