我正在尝试保护Web API
,该Android
将由iOS
和Basic Authentication
上运行的移动应用使用。它现在的工作方式是使用SSL
username
,password
和Web API
将每个请求发送到Web API
。我在调用filter
之前验证action
中Android
的凭据。这非常有效。问题是,在用户登录后,我必须将密码存储在设备上(iOS
/ Guid
)以保存会话,否则他们将不得不一直登录。这不安全,因为如果设备被黑客入侵,则可以访问凭证。我正在寻找一种方法来使用基本身份验证,而无需在设备上存储密码。
我认为this文章中的解决方案可行,但我不清楚如何使其发挥作用。在接受的答案中,它说
为每个应用生成一个密钥,让他们将每个请求中的密钥作为令牌传递。然后,您的服务器可以验证密钥并验证请求。
查看ASP.NET站点中的Basic Authentication模块。该示例使用“基本”作为授权方案,但您可以使用“令牌”进行更改。
我不清楚这里的过程。在此示例中,即使在初始登录期间也似乎没有涉及任何用户名/密码。用户如何在不登录的情况下获取密钥?然后,报价中提到的“关键”究竟是什么。那可能是ifElse
之类的东西?我也不理解这比如果被黑客攻击在设备上存储用户名和密码更安全。黑客可以使用“密钥”,就像用户名和密码一样正确吗?
答案 0 :(得分:3)
这是身份验证的基础知识,我将以简单的方式解释该过程。希望你明白。
使用加密完成所有这些操作。所有的一切!