Firebase&;邮递员|为Google Identity OAuth 2.0令牌生成JWT
我试图在我的云Firestore上执行一些管理任务(上传一些数据等)。我通读了这些文件 使用Google Identity OAuth 2.0令牌和服务帐户来验证来自应用程序的请求,例如数据库管理请求 这是关于如何在生成JWT后进行授权API调用的文档。我正在努力生成JWT 这就是我所尝试的:Firebase&;邮递员|为Google Identity OAuth 2.0令牌生成JWT,firebase,google-cloud-platform,jwt,postman,Firebase,Google Cloud Platform,Jwt,Postman,我试图在我的云Firestore上执行一些管理任务(上传一些数据等)。我通读了这些文件 使用Google Identity OAuth 2.0令牌和服务帐户来验证来自应用程序的请求,例如数据库管理请求 这是关于如何在生成JWT后进行授权API调用的文档。我正在努力生成JWT 这就是我所尝试的: 我形成了标题和声明集 {"alg":"RS256","typ":"JWT"}. { "iss":&quo
{"alg":"RS256","typ":"JWT"}.
{
"iss":"761326798069-r5mljlln1rd4lrbhg75efgigp36m78j5@developer.gserviceaccount.com",
"scope":"https://www.googleapis.com/auth/prediction",
"aud":"https://oauth2.googleapis.com/token",
"exp":1328554385,
"iat":1328550785
}
https://console.cloud.google.com/iam-admin/serviceaccounts
。但是,我不知道从哪里获得公钥。io不生成jwt。我只得到“无效签名”
web上有许多使用SDK或库的示例。然而,我看不到任何关于如何手动生成JWT(如果可能的话)以将其用于Postman的示例。有什么想法吗?多亏了@JohnHanley。我成功地生成了令牌。这并不完全是因为邮递员(我仍然依赖jwt.io来生成jwt)
notasecret
$openssl pkcs12-in-postman-admin-private.p12-out-postman-admin-private.pem-nodes
$openssl rsa-in postman-admin-private.pem-outform pem-pubout-out postman-admin public.pem
iss
字段中使用服务帐户的电子邮件地址
curl--位置--请求发布'https://oauth2.googleapis.com/token?grant_type=urn:ietf:params:oauth:grant-类型:jwt承载和断言=“{generated jwt}”
下一步是完全在邮递员的范围内完成。我没有试过,但这似乎是一个选项,多亏了@JohnHanley。我成功地生成了令牌。这并不完全是因为邮递员(我仍然依赖jwt.io来生成jwt)
notasecret
$openssl pkcs12-in-postman-admin-private.p12-out-postman-admin-private.pem-nodes
$openssl rsa-in postman-admin-private.pem-outform pem-pubout-out postman-admin public.pem
iss
字段中使用服务帐户的电子邮件地址
curl--位置--请求发布'https://oauth2.googleapis.com/token?grant_type=urn:ietf:params:oauth:grant-类型:jwt承载和断言=“{generated jwt}”
下一步是完全在邮递员的范围内完成。我没有尝试过,但这似乎是一种选择我写了一篇文章,展示了如何创建JWT,签名,然后交换访问令牌。这也将解释所需的步骤。您可以使用openssl
openssl rsa-in private.pem-outform pem-pubout-out public.pem从私钥中轻松获取公钥。但是,Google使用公钥来验证您的私钥签名,您不需要它。下面是创建访问令牌的快捷方式:@JohnHanley非常感谢。这把我推向了正确的方向。我现在设法生成了访问令牌。我将在答案中写下这些步骤,以供将来参考。我写了一篇文章,展示了如何创建JWT,对其进行签名,然后交换访问令牌。这也将解释所需的步骤。您可以使用opensslopenssl rsa-in private.pem-outform pem-pubout-out public.pem从私钥中轻松获取公钥。但是,Google使用公钥来验证您的私钥签名,您不需要它。下面是创建访问令牌的快捷方式:@JohnHanley非常感谢。这把我推向了正确的方向。我现在设法生成了访问令牌。我将在答案中写下步骤,以备将来参考