OAuth 和基本身份验证一起使用

Posted

技术标签:

【中文标题】OAuth 和基本身份验证一起使用【英文标题】:OAuth and Basic Auth together 【发布时间】:2012-04-16 23:22:07 【问题描述】:

我有一个使用 OAuth 的 Web 应用程序,并且还想添加基本身份验证以仅查看页面。我已经修改了我的 .htaccess 文件,添加了一个 .htpasswd 文件,并让基本身份验证工作正常。但现在它破坏了我的应用程序的 OAuth... 我收到以下错误:

发现不以“令牌”开头的身份验证标头

我正在使用 Tim Ridgely 的 oauth 库,可在此处找到:http://code.google.com/p/oauth2-php/

有没有一种简单的方法可以让这两种身份验证模型一起工作?

【问题讨论】:

【参考方案1】:

问题是您只有一个 Authorization HTTP 标头,而 Basic 和 OAuth 不记名令牌机制都使用它。

一般来说,最好通过引入一个单独的授权组件来实现这样的多种授权机制。例如,假设您在接受基本身份验证的应用程序旁边托管了一个单独的端点,然后生成了一个 OAuth 令牌供您的应用程序使用。现在您的应用程序只需查找 OAuth 令牌。

【讨论】:

以上是关于OAuth 和基本身份验证一起使用的主要内容,如果未能解决你的问题,请参考以下文章

HTTP 基本身份验证和 OAuth 2.0 相同吗?

oauth2 身份验证成功后获取 404 和匿名令牌

Spring oauth2令牌请求中未实际使用的基本身份验证过滤器和身份验证入口点

<Spring Security> 在同一应用程序中具有 OAuth2 和基本身份验证

使用 OAuth2 进行地理服务器身份验证

使用 oauth2 和 jwt 在 FastApi 中进行身份验证