我们正在使用 Apache 集成工具包 (modpf) 将 Web 应用程序与 PingFederate 作为 SP 集成。我们也想使用 PingFederate 作为 OAuth 服务器。我们可以使用相同的集成工具包来验证 OAuth 服务器生成的访问令牌吗?还是有其他图书馆可以做到这一点?
我遇到的一个这样的库是mod_auth_openidc。有没有人用它来验证访问令牌?
我们正在使用 Apache 集成工具包 (modpf) 将 Web 应用程序与 PingFederate 作为 SP 集成。我们也想使用 PingFederate 作为 OAuth 服务器。我们可以使用相同的集成工具包来验证 OAuth 服务器生成的访问令牌吗?还是有其他图书馆可以做到这一点?
我遇到的一个这样的库是mod_auth_openidc。有没有人用它来验证访问令牌?
您不能使用 Apache 集成工具包 (OpenToken) 来验证 Oauth 令牌。它们是完全不同的令牌类型和格式。
但是,Hans Zandbelt(来自 Ping Identity)实际上编写了您链接到的 mod_auth_openidc,并且根据其描述,它执行以下操作:
“它还可以用作 OAuth 2.0 资源服务器,根据 OAuth 2.0 授权服务器验证 OAuth 2.0 客户端提供的访问令牌。”
mod_auth_openidc 还可用于为基于 OpenID Connect 的 Apache 网站提供 SSO,从而替代提供基于 OpenToken 格式和协议的 SSO 的 mod_pf 模块。一个示例配置同时执行以下操作:
OIDCProviderMetadataURL https://localhost:9031/.well-known/openid-configuration
OIDCSSLValidateServer Off
OIDCClientID ac_oic_client
OIDCClientSecret abc123DEFghijklmnop4567rstuvwxyzZYXWUT8910SRQPOnmlijhoauthplaygroundapplication
OIDCRedirectURI https://localhost/example/redirect_uri/
OIDCCryptoPassphrase <password>
OIDCOAuthIntrospectionEndpoint https://localhost:9031/as/token.oauth2
OIDCOAuthIntrospectionEndpointParams grant_type=urn%3Apingidentity.com%3Aoauth2%3Agrant_type%3Avalidate_bearer
OIDCOAuthIntrospectionEndpointAuth client_secret_basic
OIDCOAuthRemoteUserClaim Username
OIDCOAuthSSLValidateServer Off
OIDCOAuthClientID rs_client
OIDCOAuthClientSecret 2Federate
<Location /example/>
AuthType openid-connect
Require valid-user
</Location>
<Location /api>
AuthType oauth20
Require claim scope~\bprofile\b
</Location>
您可能需要查看PingAccess来满足此需求。它与 PingFederate 一起处理浏览器 SSO 和 OAuth 访问令牌验证用例,这可以简化您的部署。
它优于 Apache 模块,因为它允许集中管理访问控制策略和跨不同应用程序集中注销,这是企业环境中的典型要求。
对于您的问题“还有其他图书馆可以做到吗?”。我的意思是,除了 mod_auth_openidc 之外还有什么其他的。还有另一种选择。OAuth 是 PingFederate OAuth 授权服务器 (OAS) 的 RESTful 服务。如果您想要做的只是验证传入的访问令牌,那么您创建一个对 PingFederate OAS 的 REST API 调用来验证令牌。在 PingFederate 中,您需要配置 OAuth 客户端进行验证。您可以在您的应用程序中为 REST 客户端集成 cURL,然后调用 PingFederate OAS。您必须根据您的应用程序或服务要求处理响应。