我可以在Google电子钱包中使用纯文本JWT吗?

时间:2014-08-10 16:53:04

标签: android-pay

我正在尝试创建一个捐赠'使用Google电子钱包的按钮。用户应该能够在文本框中键入金额,然后单击“捐赠”#39;按钮。

过去可以在没有任何服务器端代码的情况下使用Google Checkout执行此操作,但使用Google电子钱包,我需要提供服务器端服务来计算用于Google电子钱包API的JSON网络令牌(JWT)

为了跳过对服务器端服务的需求,我试图根据JWT specification创建纯文本JWT。谷歌钱包不喜欢它。它抱怨JWS签名所在的文本丢失,即使我设置了JOSE标题以指示没有加密。

  1. Google电子钱包是否支持纯文本JWT?
  2. 如果Google电子钱包确实支持纯文本JWT,我可以将其指定为JWS签名,那么Google Wallet是否不喜欢JWT规范中指定的空字符串?
  3. 即使有可能,我是否忽略了在客户端生成纯文本JWT的一些潜在安全问题?同样,这些用于捐赠,其金额无论如何都由客户指定。

1 个答案:

答案 0 :(得分:1)

我正在跳过" Donations"用例(您必须向官方Google支持人员查询)。

  

我设置了JOSE标头,表示没有加密。

不,不支持......

  

2 (Server): Generate a JSON Web Token (JWT)

     

Google Wallet for Digital Goods API使用JSON Web Tokens或JWT,发音类似于英文单词jot,以JSON格式表示要购买的每件商品。 要安全地验证这些JWT的来源,您需要先使用密钥对其进行编码和签名,然后再将其传递给客户端。

     

因为您使用密钥(卖方秘密)签署JWT,您必须使用服务器端代码生成JWT ....

... H个