You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需浏览器自动化工具,通过Firebase认证实现网站自动登录并获取Bearer Token?

无浏览器自动化获取目标网站Bearer Token方案

1. 修复Google OAuth客户端授权问题

  • 你遇到的"受众未获授权"错误,核心是Google ID Token的aud字段与目标网站Firebase项目的客户端ID不匹配。先通过目标网站的前端源码或登录请求的网络日志,找到它使用的Firebase Web客户端ID(即aud值)。
  • 在Google Cloud Console的OAuth 2.0客户端设置中,将该aud值添加到授权的JavaScript来源(如果是Web客户端),同时确保你的Google账号已被加入目标Firebase项目的测试用户列表(若网站限制了测试用户)。

2. 用OAuth授权码流程获取长期刷新令牌

无需浏览器自动化,只需手动完成一次授权,后续即可自动获取Token:

  1. 在Google Cloud Console创建Web类型OAuth客户端,设置重定向URI为http://localhost:8080。
  2. 构造授权URL并在浏览器打开(用目标网站绑定的Google账号登录):
    https://accounts.google.com/o/oauth2/v2/auth?client_id=你的客户端ID&redirect_uri=http://localhost:8080&response_type=code&scope=openid email profile&access_type=offline&prompt=consent
    
  3. 授权后从回调URL中提取code参数,用它换取刷新令牌和初始ID Token:
    import requests
    
    token_endpoint = "https://oauth2.googleapis.com/token"
    payload = {
        "client_id": "你的客户端ID",
        "client_secret": "你的客户端密钥",
        "code": "获取到的授权code",
        "redirect_uri": "http://localhost:8080",
        "grant_type": "authorization_code"
    }
    res = requests.post(token_endpoint, data=payload)
    token_data = res.json()
    # 把refresh_token存到本地文件,后续重复使用
    
  4. 每日自动用refresh_token换取新的ID Token(即目标网站的Bearer Token):
    refresh_payload = {
        "client_id": "你的客户端ID",
        "client_secret": "你的客户端密钥",
        "refresh_token": "保存的refresh_token",
        "grant_type": "refresh_token"
    }
    refresh_res = requests.post(token_endpoint, data=refresh_payload)
    new_bearer_token = refresh_res.json()["id_token"]
    # 将new_bearer_token带入Scrapy的请求头中
    

3. 验证Token有效性

获取Token后,可通过Google的验证接口确认是否符合要求:

import requests

verify_url = f"https://www.googleapis.com/oauth2/v3/tokeninfo?id_token={new_bearer_token}"
verify_res = requests.get(verify_url)
print(verify_res.json())

重点检查aud字段是否与目标网站的Firebase客户端ID一致,email是否为绑定账号,确认匹配后再用于爬取请求。


内容的提问来源于stack exchange,提问作者Phi Ph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 14:59:55