Skip to content

jwt-hs256

#!/usr/bin/env python3
import jwt
from datetime import datetime, timedelta, UTC

SECRET_KEY = "xxx"

headers = {
    "alg": "HS256",
    "typ": "JWT",
    "kid": "jenkins-oidc-token"
}

payload = {
    "iss": "nulloidc",
    "aud": "vault",
    "exp": datetime.now(UTC) + timedelta(minutes=30),
    "iat": datetime.now(UTC),
    "job_name": "main-build",
    "sub": "${JOB_URL}",
    "build_number": 7
}

token = jwt.encode(payload, SECRET_KEY, algorithm="HS256", headers=headers)

print(token)