(token)
| 27 | } |
| 28 | |
| 29 | function decodeJWTPayload(token) { |
| 30 | const parts = String(token || "").split("."); |
| 31 | if (parts.length < 2 || !parts[1]) { |
| 32 | throw new Error("failed to decode ACTIONS_RUNTIME_TOKEN payload"); |
| 33 | } |
| 34 | const payload = parts[1].replace(/-/g, "+").replace(/_/g, "/"); |
| 35 | const padded = payload + "=".repeat((4 - (payload.length % 4 || 4)) % 4); |
| 36 | return JSON.parse(Buffer.from(padded, "base64").toString("utf8")); |
| 37 | } |
| 38 | |
| 39 | function getBackendIdsFromRuntimeToken() { |
| 40 | const token = process.env.ACTIONS_RUNTIME_TOKEN || ""; |
no test coverage detected