使用我自己的键值对对我的访问令牌 (JWT) 进行编码 - Android

Encode my access token (JWT) with my own key value pair - Android

我正在使用第三方身份提供商 (Ping Identity)。 我在我的 OpenID 连接客户端库 (https://github.com/openid/AppAuth-Android) 中配置了 client_id、redirect_uri 和 discovery_uri。

我能够成功登录并获得 access_tokenrefresh_token。 我正在尝试在 access_token 中嵌入一些信息。但是要编码我需要私钥。

问题

我想知道是否有一个 API 可以在库的帮助下调用,该库将通过调用身份提供者为我编码。

提前致谢:)

如果访问令牌中需要自定义声明,那么它们通常包含在令牌发行时。例如,Ping Federate 可以建立 JDBC 连接来执行此操作。

如果您使用的是与您的数据无关的外部 IDP,那么这可能是不可能的。这就是为什么建议避免使用外部访问令牌。另请注意,访问令牌仅适用于 APIs,建议避免直接在 Web 或移动客户端中读取它们。

通常的技术是数据所有者在验证外部令牌并添加所需的任何自定义数据/声明后发布自己的令牌。理想情况下为此使用授权服务器,或者您自己的 API 作为令牌服务,它可以安全地存储令牌签名私钥。