【发布时间】:2020-09-30 02:29:24
【问题描述】:
使用 AWS Lambda 和 API Gateway,我可以部署一个使用 http 公开的函数。
使用 Cognito 和 API Gateway,我可以使用 oauth2 和 jwt 令牌保护函数。
使用 GCP Function 和 http-trigger 选项,我可以部署一个使用 http 公开的函数。
是否可以使用“GCP Cognito 替代方案”来使用 oauth2 和 jwt 令牌保护我的功能?
我已尝试使用“身份平台”。我可以通过以下方式获得(不是 jwt)令牌: https://accounts.google.com/o/oauth2/v2/auth?client_id=[myclient id]&redirect_uri=[我的重定向uri]&response_type=token&scope=openid
但这给了我一个 401 : curl -L -v -XGET --header "Authorization: Bearer [the not jwt token]"https://europe-west2-[my project].cloudfunctions.net/my-hello-function"
谢谢!
【问题讨论】:
-
我认为您对 JWT、OAuth 访问令牌和 OAuth 身份令牌(它们是签名的 JWT)感到困惑。使用身份令牌而不是 JWT,而不是访问令牌。身份令牌是由 Google 证书签名的 Google 身份。您的示例创建了 OAuth 访问令牌和身份令牌。解析返回的数据并提取身份令牌(id_token)。您的示例使用返回的 OAuth 访问令牌(没有身份信息)。
标签: google-cloud-platform oauth-2.0 jwt google-cloud-functions