使用 Firebase 对用户进行身份验证

本页介绍如何在 API Gateway 中支持用户身份验证。

要对用户进行身份验证,客户端应用程序必须将 HTTP 请求的授权标头中的 JSON Web 令牌(JWT)发送到您的后端 API。API Gateway 代表 API 验证令牌,因此您无需在 API 中添加任何代码即可处理身份验证。但是,您需要为网关配置 API 配置来支持您选择的身份验证方法。

API Gateway 使用 JWT 颁发者的 JSON Web 密钥集 (JWKS) 高效地验证 JWT。JWKS 的位置在网关 API 配置中指定。API Gateway 会缓存 JWKS 五分钟,并且每五分钟刷新一次。

准备工作

  • 请根据 Firebase 身份验证文档在您的客户端应用中添加身份验证代码。Firebase 支持使用密码、电话号码以及 Google、Facebook 和 Twitter 等热门联合身份提供商进行身份验证。

  • 当客户端应用发送 HTTP 请求时,请求中的授权标头必须包含以下 JWT 声明:
    • iss(颁发者)
    • sub(主题)
    • aud(受众群体)
    • iat(颁发时间)
    • exp(到期时间)

配置 API Gateway 以支持客户端身份验证

API 配置中必须有安全部分,API Gateway 才能验证签名的 JWT 中的声明。用于定义安全方法的架构取决于您使用的 OpenAPI 规范版本。