Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion constants.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
exports.adalConfiguration = {
exports.msalConfiguration = {
authority: 'https://login.microsoftonline.com/common',
clientID: 'ENTER_YOUR_CLIENT_ID',
clientSecret: 'ENTER_YOUR_SECRET',
Expand Down
65 changes: 33 additions & 32 deletions helpers/authHelper.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,24 @@
import { AuthenticationContext } from 'adal-node';
import { ConfidentialClientApplication } from '@azure/msal-node';

import { adalConfiguration } from '../constants';
import { msalConfiguration } from '../constants';

const resource = 'https://graph.microsoft.com/';
const resource = 'https://graph.microsoft.com/.default';

/**
* Generate a fully formed uri to use for authentication based on the supplied resource argument
* @return {string} a fully formed uri with which authentication can be completed.
*/
export function getAuthUrl() {
return adalConfiguration.authority + '/oauth2/authorize'
+ '?client_id=' + adalConfiguration.clientID
+ '&response_type=code'
+ '&redirect_uri=' + adalConfiguration.redirectUri;
const authContext = new ConfidentialClientApplication({
auth: {
clientId: msalConfiguration.clientID,
authority: msalConfiguration.authority.replace('common', msalConfiguration.tenantID),
clientSecret: msalConfiguration.clientSecret
}
});
return authContext.getAuthCodeUrl({
redirectUri: msalConfiguration.redirectUri
});
}

/**
Expand All @@ -21,34 +27,29 @@ export function getAuthUrl() {
* @param {AcquireTokenCallback} callback The callback function.
*/
export function getTokenFromCode(code) {
const authContext = new AuthenticationContext(adalConfiguration.authority);
return new Promise((resolve, reject) => {
authContext.acquireTokenWithAuthorizationCode(
code,
adalConfiguration.redirectUri,
resource,
adalConfiguration.clientID,
adalConfiguration.clientSecret,
(err, token) => {
if (err) {
reject(err);
} else {
resolve(token);
}
}
);
const authContext = new ConfidentialClientApplication({
auth: {
clientId: msalConfiguration.clientID,
authority: msalConfiguration.authority.replace('common', msalConfiguration.tenantID),
clientSecret: msalConfiguration.clientSecret
}
});
return authContext.acquireTokenByCode({
code: code,
redirectUri: msalConfiguration.redirectUri,
scopes: [resource]
});
}

export function getAppOnlyToken() {
const authContext = new AuthenticationContext(adalConfiguration.authority.replace('common', adalConfiguration.tenantID));
return new Promise((resolve, reject) => {
authContext.acquireTokenWithClientCredentials(resource, adalConfiguration.clientID, adalConfiguration.clientSecret, (err, token) => {
if (err) {
reject(err);
} else {
resolve(token);
}
});
const authContext = new ConfidentialClientApplication({
auth: {
clientId: msalConfiguration.clientID,
authority: msalConfiguration.authority.replace('common', msalConfiguration.tenantID),
clientSecret: msalConfiguration.clientSecret
}
});
return authContext.acquireTokenByClientCredential({
scopes: [resource]
});
}
Loading