通过 Paypal 使用 Login 和通过 AWS Cognito 使用 OpenID

Using Login with Paypal and using OpenID with AWS Cognito

我正在尝试使用 Paypal 支持的 OpenID 框架将凭据与 AWS Cognito 服务绑定。

如果我比较来自 Salesforce 的配置

https://login.salesforce.com/.well-known/openid-configuration

到 Paypal 的配置

https://www.paypal.com/.well-known/openid-configuration

Paypal 配置缺少 jwks_uri 元素,该元素是每个 OIDC specification 的 OpenID 提供商元数据的必需元素,而 AWS 在那个位置使用密钥用于验证 ID 令牌的 URI。

是否有不同的 url 我应该使用 Paypal 登录来使用 OpenID?

是否有任何其他方法可以让 Login with Paypal 与 AWS Cognito 服务配合使用,并与其他 OpenID 提供商配合使用?

Paypal 不兼容 OpenID Connect:

  • 正如您提到的 Discovery 文档缺少必需的条目,但是:
  • ID 令牌是用对称密钥签名的,这意味着实际上不需要 JWKS URI,因为没有使用 public/private 密钥(并且在该 URI 上发布对称密钥违背了目的)
  • 但显然它不是用于签署 ID 令牌的客户端密码,因为验证失败
  • ID 令牌中没有 sub 声明
  • exp 声明未设置为绝对时间戳而是相对超时

由于 Amazon Cognito 与兼容 OpenID Connect 的提供商合作,Paypal 将无法使用。