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

Github Actions执行Python脚本时JWT令牌无法携带至后续请求

GitHub Actions中JWT令牌的管理与后续请求携带方案

1. 打印JWT显示***的原因

这是GitHub Actions的安全机制——平台会自动识别并屏蔽类似JWT这类敏感凭证字符串(比如以eyJhbGciOiJ开头的内容),防止敏感信息泄露,属于正常现象,无需刻意取消屏蔽,反而要避免明文输出令牌。

2. 解决后续请求未携带令牌的核心步骤

(1)脚本内严格按格式传递令牌

你提到后端显示Authentication头为undefined,大概率是把标准的Authorization头写错成了Authentication。正确的请求格式必须是Bearer + 空格 + JWT令牌,示例代码如下:

import requests

# 1. 认证获取JWT
auth_res = requests.post("你的后端认证接口", data={"username": "xxx", "password": "xxx"})
auth_res.raise_for_status()  # 确保认证请求成功,避免后续使用无效令牌
jwt_token = auth_res.json().get("access_token")  # 替换成你后端实际返回的令牌字段名

# 2. 发起受保护请求
protected_res = requests.get(
    "你的受保护接口",
    headers={"Authorization": f"Bearer {jwt_token}"}  # 注意头名是Authorization,前缀Bearer必须加空格
)
protected_res.raise_for_status()

(2)避免环境变量干扰令牌有效性

如果用GitHub Secrets存储认证凭证(比如用户名、密码),在Action的YAML文件中要正确引用,不要让令牌被意外替换:

jobs:
  run-python-script:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: "3.10"
      - run: pip install requests
      - name: 执行脚本
        env:
          AUTH_USER: ${{ secrets.YOUR_AUTH_USER }}
          AUTH_PWD: ${{ secrets.YOUR_AUTH_PWD }}
        run: python your_script.py

脚本内从环境变量读取凭证,不要硬编码;同时不要打印令牌本身——平台的屏蔽只是日志显示,不会影响变量实际值,只要你没在输出时篡改变量,后续请求用变量本身是正常的。

(3)排查脚本隐性错误

  • 验证认证接口的返回格式:可以打印返回的键名(不要打印令牌),确认令牌字段是否正确:
print("认证返回字段:", list(auth_res.json().keys()))
  • 如果是多线程/多进程脚本,确保令牌变量在各个执行单元中正确传递,避免出现变量未赋值的情况。

3. 跨步骤传递令牌的安全方式

如果需要在GitHub Actions的多个步骤间传递令牌,可以用GITHUB_OUTPUT,平台会自动保护该变量不被明文显示:

- name: 获取JWT令牌
  id: fetch-token
  run: |
    # 调用脚本获取令牌并输出到GITHUB_OUTPUT
    JWT_TOKEN=$(python fetch_token.py)
    echo "token=$JWT_TOKEN" >> $GITHUB_OUTPUT
  env:
    AUTH_USER: ${{ secrets.YOUR_AUTH_USER }}
    AUTH_PWD: ${{ secrets.YOUR_AUTH_PWD }}

- name: 使用令牌执行后续操作
  run: python use_token.py
  env:
    JWT: ${{ steps.fetch-token.outputs.token }}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 02:05:23