diff --git a/lib/main.js b/lib/main.js index b6371b1a3..e43867f03 100644 --- a/lib/main.js +++ b/lib/main.js @@ -1,14 +1,14 @@ "use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function (o, m, k, k2) { +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } }); -}) : (function (o, m, k, k2) { + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function (o, v) { +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function (o, v) { +}) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { @@ -140,6 +140,8 @@ function main() { if (!!federatedToken) { if (environment != "azurecloud") throw new Error(`Your current environment - "${environment}" is not supported for OIDC login.`); + let [issuer, subjectClaim] = yield jwtParser(federatedToken); + console.log("Federated token details: \n issuer - " + issuer + " \n subject claim - " + subjectClaim); } else { throw new Error("Could not get ID token for authentication."); @@ -230,4 +232,12 @@ function executeAzCliCommand(command, silent, execOptions = {}, args = []) { yield exec.exec(`"${azPath}" ${command}`, args, execOptions); }); } +function jwtParser(federatedToken) { + return __awaiter(this, void 0, void 0, function* () { + let tokenPayload = federatedToken.split('.')[1]; + let bufferObj = Buffer.from(tokenPayload, "base64"); + let decodedPayload = JSON.parse(bufferObj.toString("utf8")); + return [decodedPayload['iss'], decodedPayload['sub']]; + }); +} main(); diff --git a/src/main.ts b/src/main.ts index 03a8e8a00..7de834fb0 100644 --- a/src/main.ts +++ b/src/main.ts @@ -118,6 +118,8 @@ async function main() { if (!!federatedToken) { if (environment != "azurecloud") throw new Error(`Your current environment - "${environment}" is not supported for OIDC login.`); + let [issuer, subjectClaim] = await jwtParser(federatedToken); + console.log("Federated token details: \n issuer - " + issuer + " \n subject claim - " + subjectClaim); } else { throw new Error("Could not get ID token for authentication."); @@ -227,4 +229,10 @@ async function executeAzCliCommand( execOptions.silent = !!silent; await exec.exec(`"${azPath}" ${command}`, args, execOptions); } +async function jwtParser(federatedToken: string) { + let tokenPayload = federatedToken.split('.')[1]; + let bufferObj = Buffer.from(tokenPayload, "base64"); + let decodedPayload = JSON.parse(bufferObj.toString("utf8")); + return [decodedPayload['iss'], decodedPayload['sub']]; +} main();