diff --git a/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/auth.js b/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/auth.js deleted file mode 100644 index f103ca28c0..0000000000 --- a/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/auth.js +++ /dev/null @@ -1,103 +0,0 @@ -// Browser check variables -// If you support IE, our recommendation is that you sign-in using Redirect APIs -// If you as a developer are testing using Edge InPrivate mode, please add "isEdge" to the if check -const ua = window.navigator.userAgent; -const msie = ua.indexOf("MSIE "); -const msie11 = ua.indexOf("Trident/"); -const msedge = ua.indexOf("Edge/"); -const isIE = msie > 0 || msie11 > 0; -const isEdge = msedge > 0; - -let signInType; -let accountId = ""; - -// Create the main myMSALObj instance -// configuration parameters are located at authConfig.js -const myMSALObj = new msal.PublicClientApplication(msalConfig); - -myMSALObj.initialize().then(() => { - // Redirect: once login is successful and redirects with tokens, call Graph API - myMSALObj.handleRedirectPromise().then(handleResponse).catch(err => { - console.error(err); - }); -}) - -function handleResponse(resp) { - if (resp !== null) { - accountId = resp.account.homeAccountId; - myMSALObj.setActiveAccount(resp.account); - showWelcomeMessage(resp.account); - } else { - // need to call getAccount here? - const currentAccounts = myMSALObj.getAllAccounts(); - if (!currentAccounts || currentAccounts.length < 1) { - return; - } else if (currentAccounts.length > 1) { - // Add choose account code here - } else if (currentAccounts.length === 1) { - const activeAccount = currentAccounts[0]; - myMSALObj.setActiveAccount(activeAccount); - accountId = activeAccount.homeAccountId; - showWelcomeMessage(activeAccount); - } - } -} - -async function signIn(method) { - signInType = isIE ? "redirect" : method; - if (signInType === "popup") { - return myMSALObj.loginPopup({ - ...loginRequest, - redirectUri: "/redirect" - }).then(handleResponse).catch(function (error) { - console.log(error); - }); - } else if (signInType === "redirect") { - return myMSALObj.loginRedirect(loginRequest) - } -} - -function signOut(interactionType) { - const logoutRequest = { - account: myMSALObj.getAccountByHomeId(accountId) - }; - - if (interactionType === "popup") { - myMSALObj.logoutPopup(logoutRequest).then(() => { - window.location.reload(); - }); - } else { - myMSALObj.logoutRedirect(logoutRequest); - } -} - -async function getTokenPopup(request, account) { - request.redirectUri = "/redirect" - return await myMSALObj - .acquireTokenSilent(request) - .catch(async (error) => { - console.log("silent token acquisition fails."); - if (error instanceof msal.InteractionRequiredAuthError) { - console.log("acquiring token using popup"); - return myMSALObj.acquireTokenPopup(request).catch((error) => { - console.error(error); - }); - } else { - console.error(error); - } - }); -} - -// This function can be removed if you do not need to support IE -async function getTokenRedirect(request, account) { - return await myMSALObj.acquireTokenSilent(request).catch(async (error) => { - console.log("silent token acquisition fails."); - if (error instanceof msal.InteractionRequiredAuthError) { - // fallback to interaction when silent call fails - console.log("acquiring token using redirect"); - myMSALObj.acquireTokenRedirect(request); - } else { - console.error(error); - } - }); -} \ No newline at end of file diff --git a/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/authConfig.js b/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/authConfig.js deleted file mode 100644 index b14c98bb2d..0000000000 --- a/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/authConfig.js +++ /dev/null @@ -1,71 +0,0 @@ -// Config object to be passed to Msal on creation -const msalConfig = { - auth: { - clientId: "167938356118608", - authority: "https://www.facebook.com", - knownAuthorities: ["www.facebook.com"], - protocolMode: msal.ProtocolMode.OIDC, - OIDCOptions: { "serverResponseType": ["query"], "defaultScopes": ["openid"] }, - authorityMetadata: '{ "issuer": "https://www.facebook.com", "authorization_endpoint": "https://facebook.com/dialog/oauth/", "token_endpoint": "https://graph.facebook.com/oauth/access_token", "jwks_uri": "https://www.facebook.com/.well-known/oauth/openid/jwks/" }', - cache: { - cacheLocation: "sessionStorage", // This configures where your cache will be stored - storeAuthStateInCookie: false, // Set this to "true" if you are having issues on IE11 or Edge - }, - system: { - allowNativeBroker: false, - loggerOptions: { - logLevel: msal.LogLevel.Trace, - loggerCallback: (level, message, containsPii) => { - if (containsPii) { - return; - } - switch (level) { - case msal.LogLevel.Error: - console.error(message); - return; - case msal.LogLevel.Info: - console.info(message); - return; - case msal.LogLevel.Verbose: - console.debug(message); - return; - case msal.LogLevel.Warning: - console.warn(message); - return; - default: - console.log(message); - return; - } - }, - }, - }, - telemetry: { - application: { - appName: "MSAL Browser V2 Default Sample", - appVersion: "1.0.0", - }, - }, - } -}; - -// Add here scopes for id token to be used at MS Identity Platform endpoints. -const loginRequest = { - scopes: ['openid'] -}; - -// Add here the endpoints for FB Graph API services you would like to use. -const graphConfig = { - graphMeEndpoint: "https://graph.facebook.com/v17.0/me?fields=id,name,email" //you have to add the fields at the end of the url -}; - -// Add here scopes for access token to be used at MS Graph API endpoints. -const tokenRequest = { - scopes: ['openid'], - forceRefresh: false // Set this to "true" to skip a cached token and go to the server to get a new token -}; - -const silentRequest = { - scopes: ['openid'] -}; - -const logoutRequest = {} \ No newline at end of file diff --git a/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/graph.js b/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/graph.js deleted file mode 100644 index a5259c939e..0000000000 --- a/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/graph.js +++ /dev/null @@ -1,42 +0,0 @@ -// Helper function to call MS Graph API endpoint -// using authorization bearer token scheme -function callMSGraph(endpoint, accessToken, callback) { - const headers = new Headers(); - const bearer = `Bearer ${accessToken}`; - - headers.append("Authorization", bearer); - - const options = { - method: "GET", - headers: headers - }; - - console.log('request made to Graph API at: ' + new Date().toString()); - - fetch(endpoint, options) - .then(response => response.json()) - .then(response => callback(response, endpoint)) - .catch(error => console.log(error)); -} - -async function seeProfile() { - const currentAcc = myMSALObj.getAccountByHomeId(accountId); - if (currentAcc) { - const response = await getTokenPopup(loginRequest, currentAcc).catch(error => { - console.log(error); - }); - callMSGraph(graphConfig.graphMeEndpoint, response.accessToken, updateUI); - profileButton.style.display = 'none'; - } -} - -async function seeProfileRedirect() { - const currentAcc = myMSALObj.getAccountByHomeId(accountId); - if (currentAcc) { - const response = await getTokenRedirect(loginRequest, currentAcc).catch(error => { - console.log(error); - }); - callMSGraph(graphConfig.graphMeEndpoint, response.accessToken, updateUI); - profileButton.style.display = 'none'; - } -} diff --git a/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/index.html b/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/index.html deleted file mode 100644 index f8bf8f7770..0000000000 --- a/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/index.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - Quickstart | MSAL.JS Vanilla JavaScript SPA - - - - - - - - - - -
-
Vanilla JavaScript SPA calling MS Graph API with MSAL.JS
-
-
- -
-
-
-
-
-
-
- -
-
-
-
- - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/redirect.html b/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/redirect.html deleted file mode 100644 index dcc8b0ed7d..0000000000 --- a/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/redirect.html +++ /dev/null @@ -1,6 +0,0 @@ - \ No newline at end of file diff --git a/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/ui.js b/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/ui.js deleted file mode 100644 index 1348ba26e7..0000000000 --- a/samples/msal-browser-samples/VanillaJSTestApp2.0/app/facebook-sample/ui.js +++ /dev/null @@ -1,34 +0,0 @@ -// Select DOM elements to work with -const welcomeDiv = document.getElementById("WelcomeMessage"); -const signInButton = document.getElementById("SignIn"); -const popupButton = document.getElementById("popup"); -const redirectButton = document.getElementById("redirect"); -const cardDiv = document.getElementById("card-div"); -const mailButton = document.getElementById("readMail"); -const profileButton = document.getElementById("seeProfile"); -const profileDiv = document.getElementById("profile-div"); - -function showWelcomeMessage(account) { - // Reconfiguring DOM elements - cardDiv.style.display = 'initial'; - welcomeDiv.innerHTML = `Welcome ${account.name}`; - signInButton.setAttribute('class', "btn btn-success dropdown-toggle"); - signInButton.innerHTML = "Sign Out"; - popupButton.setAttribute('onClick', "signOut(this.id)"); - popupButton.innerHTML = "Sign Out with Popup"; - redirectButton.setAttribute('onClick', "signOut(this.id)"); - redirectButton.innerHTML = "Sign Out with Redirect"; -} - -function updateUI(data, endpoint) { - console.log('Graph API responded at: ' + new Date().toString()); - - if (endpoint === graphConfig.graphMeEndpoint) { - const title = document.createElement('p'); - title.innerHTML = "Name: " + data.name; - const email = document.createElement('p'); - email.innerHTML = "Mail: " + data.email; - profileDiv.appendChild(title); - profileDiv.appendChild(email); - } -}