首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Google云端点进行非OAuth2 JWT验证

使用Google云端点进行非OAuth2 JWT验证
EN

Stack Overflow用户
提问于 2019-07-22 20:17:15
回答 1查看 309关注 0票数 0

我的用例

我在Google Cloud平台上部署了一个API,使用Google Cloud Endpoint作为API管理器。对于那些熟悉端点的人,我使用的是GKE上的ESP。我的API作为部署在Google的Actions上的action的webhook。在API端,我需要验证请求是否确实来自Google上的操作。

正如the doc中所述,来自Google上的操作的请求在Authorization头中包含一个令牌(JWT格式

代码语言:javascript
复制
authorization: "<JWT token>"

因此,我需要使用云端点验证此令牌。

问题所在

云端点使用Swager2.0(也称为OpenAPI ),specification只提到了以下安全方案:"basic“、"apiKey”或"oauth2“。看起来谷歌使用的操作并不是基于其中的一个。

我尝试过的

我尝试使用以下OpenAPI定义将JWT视为OAuth2令牌:

代码语言:javascript
复制
securityDefinitions:
  ActionsOnGoogle:
    authorizationUrl: ""
    type: "oauth2"
    flow: "implicit"
    x-google-issuer: "https://accounts.google.com"
    x-google-jwks_uri: "https://www.googleapis.com/oauth2/v3/certs"
    audiences: "{{ my-gcp-project-id }}"

它不起作用,因为Cloud Endpoints ESP会检查Authorization header的值是否以“header”开头,否则它会拒绝请求(code)

我的第二个选择是将Authorization头中的JWT视为API密钥。但是云端点只支持由GCP管理的API密钥。

我的问题

是否可以使用Google Cloud Endpoint验证来自Google上的操作的请求?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-23 06:44:39

抱歉,ESP目前不支持从该格式提取JWT:

代码语言:javascript
复制
authorization: "<JWT token>"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57145885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档