From 835e740642402519fc1f61fe30b24a47d8fceb5c Mon Sep 17 00:00:00 2001 From: sameerag Date: Fri, 9 Jul 2021 15:43:42 -0700 Subject: [PATCH] Adding Samples --- .../src/client/UsernamePasswordClient.ts | 6 +++- .../username-password-cca/.npmrc | 1 + .../username-password-cca/index.js | 31 +++++++++++++++++++ .../username-password-cca/package.json | 18 +++++++++++ 4 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 samples/msal-node-samples/username-password-cca/.npmrc create mode 100644 samples/msal-node-samples/username-password-cca/index.js create mode 100644 samples/msal-node-samples/username-password-cca/package.json diff --git a/lib/msal-common/src/client/UsernamePasswordClient.ts b/lib/msal-common/src/client/UsernamePasswordClient.ts index 4818f4297f..e62396dca1 100644 --- a/lib/msal-common/src/client/UsernamePasswordClient.ts +++ b/lib/msal-common/src/client/UsernamePasswordClient.ts @@ -94,7 +94,7 @@ export class UsernamePasswordClient extends BaseClient { parameterBuilder.addLibraryInfo(this.config.libraryInfo); parameterBuilder.addThrottling(); - + if (this.serverTelemetryManager) { parameterBuilder.addServerTelemetry(this.serverTelemetryManager); } @@ -102,6 +102,10 @@ export class UsernamePasswordClient extends BaseClient { const correlationId = request.correlationId || this.config.cryptoInterface.createNewGuid(); parameterBuilder.addCorrelationId(correlationId); + if (this.config.clientCredentials.clientSecret) { + parameterBuilder.addClientSecret(this.config.clientCredentials.clientSecret); + } + if (!StringUtils.isEmptyObj(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) { parameterBuilder.addClaims(request.claims, this.config.authOptions.clientCapabilities); } diff --git a/samples/msal-node-samples/username-password-cca/.npmrc b/samples/msal-node-samples/username-password-cca/.npmrc new file mode 100644 index 0000000000..43c97e719a --- /dev/null +++ b/samples/msal-node-samples/username-password-cca/.npmrc @@ -0,0 +1 @@ +package-lock=false diff --git a/samples/msal-node-samples/username-password-cca/index.js b/samples/msal-node-samples/username-password-cca/index.js new file mode 100644 index 0000000000..aa5a933ade --- /dev/null +++ b/samples/msal-node-samples/username-password-cca/index.js @@ -0,0 +1,31 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. + */ + +var msal = require("@azure/msal-node"); + +const msalConfig = { + auth: { + clientId: "", // Enter your client_id here + authority: "", // Enter your authority here + clientSecret: "" // Enter your client_secret here + } +}; + +const cca = new msal.ConfidentialClientApplication(msalConfig); + +const usernamePasswordRequest = { + scopes: ["user.read"], + username: "", // Add your username here + password: "", // Add your password here +}; + +cca.acquireTokenByUsernamePassword(usernamePasswordRequest).then((response) => { + console.log("acquired token by password grant in confidential clients"); +}).catch((error) => { + console.log(error); +}); + + + diff --git a/samples/msal-node-samples/username-password-cca/package.json b/samples/msal-node-samples/username-password-cca/package.json new file mode 100644 index 0000000000..47d26349db --- /dev/null +++ b/samples/msal-node-samples/username-password-cca/package.json @@ -0,0 +1,18 @@ +{ + "name": "msal-node-username-password-cca", + "version": "1.0.0", + "description": "Command line app that uses Oauth password grant flow to get a token from Azure AD", + "main": "index.js", + "private": true, + "scripts": { + "start": "node index.js", + "build:package": "cd ../../lib/msal-common && npm run build && cd ../msal-node && npm run build", + "start:build": "npm run build:package && npm start", + "install:local": "npm install ../../../lib/msal-node" + }, + "author": "Microsoft", + "license": "MIT", + "dependencies": { + "@azure/msal-node": "file:../../../lib/msal-node" + } +}