2

我们正在使用 Apache 集成工具包 (modpf) 将 Web 应用程序与 PingFederate 作为 SP 集成。我们也想使用 PingFederate 作为 OAuth 服务器。我们可以使用相同的集成工具包来验证 OAuth 服务器生成的访问令牌吗?还是有其他图书馆可以做到这一点?

我遇到的一个这样的库是mod_auth_openidc。有没有人用它来验证访问令牌?

4

3 回答 3

3

您不能使用 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>
于 2015-05-14T14:46:59.150 回答
2

您可能需要查看PingAccess来满足此需求。它与 PingFederate 一起处理浏览器 SSO 和 OAuth 访问令牌验证用例,这可以简化您的部署。

它优于 Apache 模块,因为它允许集中管理访问控制策略和跨不同应用程序集中注销,这是企业环境中的典型要求。

于 2015-05-19T18:02:04.077 回答
1

对于您的问题“还有其他图书馆可以做到吗?”。我的意思是,除了 mod_auth_openidc 之外还有什么其他的。还有另一种选择。OAuth 是 PingFederate OAuth 授权服务器 (OAS) 的 RESTful 服务。如果您想要做的只是验证传入的访问令牌,那么您创建一个对 PingFederate OAS 的 REST API 调用来验证令牌。在 PingFederate 中,您需要配置 OAuth 客户端进行验证。您可以在您的应用程序中为 REST 客户端集成 cURL,然后调用 PingFederate OAS。您必须根据您的应用程序或服务要求处理响应。

于 2015-05-14T20:16:32.770 回答