,可以通过以下步骤实现:
pip install firebase-admin
import firebase_admin
from firebase_admin import credentials
# 初始化Firebase应用
cred = credentials.Certificate("path/to/serviceAccountKey.json")
firebase_admin.initialize_app(cred)
请确保将path/to/serviceAccountKey.json
替换为您在Firebase控制台中下载的服务帐户密钥的实际路径。
from flask import Flask, request
from firebase_admin import auth
app = Flask(__name__)
# 身份验证装饰器
def authenticate(func):
def wrapper(*args, **kwargs):
# 从请求头中获取身份验证令牌
token = request.headers.get('Authorization')
try:
# 验证令牌
decoded_token = auth.verify_id_token(token)
# 将用户ID添加到请求上下文中
request.user_id = decoded_token['uid']
return func(*args, **kwargs)
except auth.InvalidIdTokenError:
return 'Invalid token', 401
return wrapper
# 受保护的路由
@app.route('/protected')
@authenticate
def protected_route():
user_id = request.user_id
# 在这里执行受保护的操作
return 'Protected route'
if __name__ == '__main__':
app.run()
在上面的示例中,authenticate
装饰器用于验证请求中的身份验证令牌。如果令牌有效,用户ID将添加到请求上下文中,并且可以在受保护的路由中访问。
请注意,以上链接仅供参考,具体产品和服务选择应根据实际需求进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云