HTTP模块中的OAuth 2.0身份验证

Sug*_*h G 7 authentication authorization httpmodule oauth-2.0

是否可以在HTTP模块中实现OAuth(开放授权)2.0或1.0。

为什么要选择这个,因为每个请求都将首先到达HTTP模块,因此我必须从该请求中进行身份验证

可能吗 ?

如果是,请为此提供一个相关链接

帮我..

Eug*_*ace 5

是的,这是可能的。事实上,mod_auth_openidc正是为 Apache(以及 OpenId Connect,这是一个建立在 OAuth2 上的协议)所做的。

更多关于这里的场景:https : //auth0.com/blog/2014/08/22/sso-for-legacy-apps-with-auth0-openid-connect-and-apache/


Han*_* Z. 5

我将通过说mod_auth_openidc支持两种操作模式来补充 Eugenio 的答案:

  1. 它可以作为 OpenID Connect 依赖方通过使用和验证由 OpenID Connect 提供者发布的 ID 令牌、访问令牌和刷新令牌来验证用户;它将有关经过身份验证的用户(可能还有令牌本身)的信息中继到运行在 Apache 服务器上或后面的受保护应用程序

  2. 它可以充当 OAuth 2.0 资源服务器,通过使用和验证 OAuth 2.0 授权服务器颁发的访问令牌来控制来自 OAuth 2.0 客户端的访问;它可以将与访问令牌相关的信息传递给运行在 Apache 服务器上或后面的受保护应用程序

对于这两种情况,Apache 的Require逻辑可用于根据 ID 令牌中存在的某些声明来强制访问。访问令牌。

2019 年 4 月 12 日更新:

现在有一个专门的模块来处理 OAuth 2.0 资源服务器功能:https : //github.com/zmartzone/mod_oauth2