gpt4 book ai didi

google-cloud-platform - Cloud Functions 中的 Google Identity Platform 身份验证

转载 作者:行者123 更新时间:2023-12-05 03:51:39 26 4
gpt4 key购买 nike

虽然类似于Google cloud functions http authentication ,我的问题更具体针对 Google Identity Platform ( https://cloud.google.com/identity-platform )。

我是 GCP 的新手。我在 Identity Platform 中创建了一个用户名/密码提供程序。我创建了一个示例 Flask 应用程序客户端并使用 FireBaseUI 执行基本用户登录。我能够在客户端中获取 accessToken。

然后我创建了一个 Cloud Function(根据上述线程选择未验证)。然后在“Authorization: Bearer” header 中传递 accessToken。我能够访问 Cloud Functions 内部的 token 。

但我无法弄清楚的下一部分是如何针对 Identity Platform 验证该 token 并获取用户详细信息?

最佳答案

要验证 token ,您需要检索传入的“授权”HTTP header 的值。这将是一个以“Bearer”开头的字符串。其余部分是可以传递给 verifyIdToken() 的 JWT token ,您将返回一个经过验证的解码 token 。从该数据中,您将能够使用其中的属性(例如“电子邮件”)。

参见:

Verify ID tokens using the Firebase Admin SDK


from flask import abort
import firebase_admin
from firebase_admin import auth

default_app = firebase_admin.initialize_app()

def test_firebase_auth(request):
authorization = request.headers.get('Authorization')
id_token = None
if authorization and authorization.startswith('Bearer '):
id_token = authorization.split('Bearer ')[1]
else:
abort(401)

try:
decoded_token = auth.verify_id_token(id_token)
return str(decoded_token)
uid = decoded_token['uid']
# log.info(decoded_token)
return uid
except Exception as e: # ValueError or auth.AuthError
return str(e)
abort(401)

关于google-cloud-platform - Cloud Functions 中的 Google Identity Platform 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62736151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com