【问题标题】:Basic authentication vs token authentication基本身份验证与令牌身份验证
【发布时间】:2013-12-27 20:40:09
【问题描述】:

两种方法我都使用 SSL。

对我来说,两者似乎都一样安全。 但如果 SSL 中断,则存在差异。

1) 基本身份验证:没有 SSL,有人可以钓鱼用户名+密码并永远使用它。

2) token auth:如果没有 SSL,有人可以进行中间人攻击并窃取我的令牌并仅使用它,但仅限于我会说的特定时间段,例如令牌创建日期 + 8 小时,并且使用该令牌的每个请求都无效,因为令牌无效。

基于令牌的身份验证与基本身份验证相比还有什么优势吗?

【问题讨论】:

    标签: asp.net-web-api basic-authentication http-token-authentication


    【解决方案1】:

    使用身份验证令牌(例如 OAuth2)的主要优点之一是客户端应用程序不需要在本地保存凭据。客户端应用程序为初始登录发送一次凭据,然后在客户端应用程序提示用户再次输入时忘记它们,只要您不需要重新授权应用程序即可。

    与版本 1 相比,OAuth2 不需要您对请求进行签名;不记名令牌只要有效就可以使用,无需任何措施,这似乎是一个安全问题,但该过程利用了简化。

    【讨论】:

    • 为什么我必须使用基本身份验证在本地存储凭据?您的意思是对于每个服务器请求,无论我是否已经过身份验证,我都必须发送凭据?
    • 是的,BASIC 认证要求每个请求都发送用户名和密码。
    • 但我不必像 localstorage 那样将它存储在本地(即使那样也不会那么糟糕)我只是将它保存在一个变量中。有人可以使用读取我的用户名/密码,他必须先劫持我的电脑,然后再劫持浏览器,恕我直言。
    • 当然,这是浏览器所做的。但是,如果您的客户端应用程序想要在两次执行之间保持会话,则必须将凭据保存在某处。例如,想想移动应用程序。
    猜你喜欢
    • 2021-01-25
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    • 2021-06-20
    • 2011-01-28
    相关资源
    最近更新 更多