Compare commits

...

2 commits

Author SHA1 Message Date
Balaga Gayatri
63108bf3cf Updating node version in action.yml 2022-06-17 15:40:27 +05:30
Balaga Gayatri
6143ae0900 putting id-token generation in try catch block 2022-06-16 17:22:49 +05:30
3 changed files with 26 additions and 22 deletions

View file

@ -34,5 +34,5 @@ branding:
icon: 'login.svg' icon: 'login.svg'
color: 'blue' color: 'blue'
runs: runs:
using: 'node12' using: 'node16'
main: 'lib/main.js' main: 'lib/main.js'

View file

@ -132,17 +132,19 @@ function main() {
// OIDC specific checks // OIDC specific checks
if (enableOIDC) { if (enableOIDC) {
console.log('Using OIDC authentication...'); console.log('Using OIDC authentication...');
//generating ID-token try {
let audience = core.getInput('audience', { required: false }); //generating ID-token
federatedToken = yield core.getIDToken(audience); let audience = core.getInput('audience', { required: false });
if (!!federatedToken) { federatedToken = yield core.getIDToken(audience);
if (environment != "azurecloud") if (!!federatedToken) {
throw new Error(`Your current environment - "${environment}" is not supported for OIDC login.`); if (environment != "azurecloud")
let [issuer, subjectClaim] = yield jwtParser(federatedToken); throw new Error(`Your current environment - "${environment}" is not supported for OIDC login.`);
console.log("Federated token details: \n issuer - " + issuer + " \n subject claim - " + subjectClaim); let [issuer, subjectClaim] = yield jwtParser(federatedToken);
console.log("Federated token details: \n issuer - " + issuer + " \n subject claim - " + subjectClaim);
}
} }
else { catch (error) {
throw new Error("Could not get ID token for authentication."); core.error(`${error.message.split(':')[1]}. Please make sure to give write permissions to id-token in the workflow.`);
} }
} }
// Attempting Az cli login // Attempting Az cli login

View file

@ -110,17 +110,19 @@ async function main() {
// OIDC specific checks // OIDC specific checks
if (enableOIDC) { if (enableOIDC) {
console.log('Using OIDC authentication...') console.log('Using OIDC authentication...')
//generating ID-token try {
let audience = core.getInput('audience', { required: false }); //generating ID-token
federatedToken = await core.getIDToken(audience); let audience = core.getInput('audience', { required: false });
if (!!federatedToken) { federatedToken = await core.getIDToken(audience);
if (environment != "azurecloud") if (!!federatedToken) {
throw new Error(`Your current environment - "${environment}" is not supported for OIDC login.`); if (environment != "azurecloud")
let [issuer, subjectClaim] = await jwtParser(federatedToken); throw new Error(`Your current environment - "${environment}" is not supported for OIDC login.`);
console.log("Federated token details: \n issuer - " + issuer + " \n subject claim - " + subjectClaim); let [issuer, subjectClaim] = await jwtParser(federatedToken);
console.log("Federated token details: \n issuer - " + issuer + " \n subject claim - " + subjectClaim);
}
} }
else { catch (error) {
throw new Error("Could not get ID token for authentication."); core.error(`${error.message.split(':')[1]}. Please make sure to give write permissions to id-token in the workflow.`);
} }
} }