{"version":3,"sources":["authConfig.js","components/NavigationBar.jsx","components/PageLayout.jsx","fetch.js","components/DataDisplay.jsx","pages/Hello.jsx","App.jsx","index.js"],"names":["b2cPolicies","signUpSignIn","forgotPassword","editProfile","authority","msalConfig","auth","clientId","knownAuthorities","redirectUri","postLogoutRedirectUri","navigateToLoginRequestUrl","cache","cacheLocation","storeAuthStateInCookie","system","loggerOptions","loggerCallback","level","message","containsPii","LogLevel","Error","console","error","Info","info","Verbose","debug","Warning","warn","loginRequest","scopes","protectedResources","apiHello","endpoint","NavigationBar","instance","useMsal","Navbar","bg","variant","className","href","Nav","Link","as","Button","onClick","loginPopup","DropdownButton","drop","title","Dropdown","Item","logoutPopup","mainWindowRedirectUri","logoutRedirect","loginRedirect","PageLayout","props","children","target","callApiWithToken","accessToken","apiEndpoint","a","headers","Headers","bearer","append","options","method","fetch","then","response","json","catch","log","HelloData","tableRows","Object","entries","helloData","map","entry","index","HelloContent","accounts","inProgress","account","useAccount","useState","setHelloData","stuff","useEffect","acquireTokenSilent","InteractionRequiredAuthError","acquireTokenPopup","Hello","authRequest","interactionType","InteractionType","Redirect","authenticationRequest","Pages","callbackId","addEventCallback","event","eventType","EventType","LOGIN_FAILURE","errorMessage","indexOf","Popup","e","LOGIN_SUCCESS","ACQUIRE_TOKEN_SUCCESS","payload","idTokenClaims","window","alert","logout","removeEventCallback","path","App","msalInstance","PublicClientApplication","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.591f4ea4.chunk.js","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { LogLevel } from \"@azure/msal-browser\";\n\n/**\n * Enter here the user flows and custom policies for your B2C application\n * To learn more about user flows, visit: https://docs.microsoft.com/en-us/azure/active-directory-b2c/user-flow-overview\n * To learn more about custom policies, visit: https://docs.microsoft.com/en-us/azure/active-directory-b2c/custom-policy-overview\n */\nexport const b2cPolicies = {\n names: {\n signUpSignIn: \"B2C_1_susi\",\n forgotPassword: \"b2c_1_reset\",\n editProfile: \"b2c_1_edit_profile\"\n },\n authorities: {\n signUpSignIn: {\n authority: \"https://AlsetTechnology.b2clogin.com/AlsetTechnology.onmicrosoft.com/B2C_1_susi\",\n },\n forgotPassword: {\n authority: \"https://AlsetTechnology.b2clogin.com/AlsetTechnology.onmicrosoft.com/b2c_1_reset\",\n },\n editProfile: {\n authority: \"https://AlsetTechnology.b2clogin.com/AlsetTechnology.onmicrosoft.com/b2c_1_edit_profile\"\n }\n },\n authorityDomain: \"AlsetTechnology.b2clogin.com\"\n}\n\n\n/**\n * Configuration object to be passed to MSAL instance on creation. \n * For a full list of MSAL.js configuration parameters, visit:\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md \n */\nexport const msalConfig = {\n auth: {\n clientId: \"fe11265c-8c68-4c8a-b52c-7707e23d0a72\", // This is the ONLY mandatory field that you need to supply.\n authority: b2cPolicies.authorities.signUpSignIn.authority, // Choose SUSI as your default authority.\n knownAuthorities: [b2cPolicies.authorityDomain], // Mark your B2C tenant's domain as trusted.\n redirectUri: \"/\", // You must register this URI on Azure Portal/App Registration. Defaults to window.location.origin\n postLogoutRedirectUri: \"/\", // Indicates the page to navigate after logout.\n navigateToLoginRequestUrl: false, // If \"true\", will navigate back to the original request location before processing the auth code response.\n\t\tredirectUri: \"http://localhost:3001/\",\n\t\tclientSecret: \".4ri7lMN.D_Rc.3fev2-In1Cn6-61f0KU9\",\n\t\t\n },\n cache: {\n cacheLocation: \"sessionStorage\", // Configures cache location. \"sessionStorage\" is more secure, but \"localStorage\" gives you SSO between tabs.\n storeAuthStateInCookie: false, // Set this to \"true\" if you are having issues on IE11 or Edge\n },\n system: {\n loggerOptions: {\n loggerCallback: (level, message, containsPii) => {\n // if (containsPii) {\n // return;\n // }\n switch (level) {\n case LogLevel.Error:\n console.error(message);\n return;\n case LogLevel.Info:\n console.info(message);\n return;\n case LogLevel.Verbose:\n console.debug(message);\n return;\n case LogLevel.Warning:\n console.warn(message);\n return;\n }\n }\n }\n }\n};\n\n/**\n * Scopes you add here will be prompted for user consent during sign-in.\n * By default, MSAL.js will add OIDC scopes (openid, profile, email) to any login request.\n * For more information about OIDC scopes, visit: \n * https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#openid-connect-scopes\n */\nexport const loginRequest = {\n scopes: [\"https://AlsetTechnology.onmicrosoft.com/c9bc778e-268b-413a-a9c1-f645616d810b/access_as_user\"]\n};\n\n/**\n * Add here the endpoints and scopes when obtaining an access token for protected web APIs. For more information, see:\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/resources-and-scopes.md\n */\nexport const protectedResources = {\n apiHello: {\n \n\t\t//endpoint: \"http://127.0.0.1:5000/private\",\n\t\tendpoint: \"https://comqpythonapi.azurewebsites.net/private\",\t\t\n scopes: [\"https://AlsetTechnology.onmicrosoft.com/c9bc778e-268b-413a-a9c1-f645616d810b/access_as_user\"], // e.g. api://xxxxxx/access_as_user\n },\n}\n","import { AuthenticatedTemplate, UnauthenticatedTemplate, useMsal } from \"@azure/msal-react\";\n\nimport Nav from \"react-bootstrap/Nav\"\nimport Navbar from \"react-bootstrap/Navbar\"\nimport Button from \"react-bootstrap/Button\";\nimport DropdownButton from \"react-bootstrap/DropdownButton\";\nimport Dropdown from \"react-bootstrap/esm/Dropdown\";\n\nimport { loginRequest, b2cPolicies } from \"../authConfig\";\n\nexport const NavigationBar = () => {\n\n const { instance } = useMsal();\n\n /**\n * Most applications will need to conditionally render certain components based on whether a user is signed in or not. \n * msal-react provides 2 easy ways to do this. AuthenticatedTemplate and UnauthenticatedTemplate components will \n * only render their children if a user is authenticated or unauthenticated, respectively.\n */\n return (\n <>\n \n Microsoft identity platform\n \n HelloAPI\n
\n \n \n instance.logoutPopup({ postLogoutRedirectUri: \"/\", mainWindowRedirectUri: \"/\" })}>Sign out using Popup\n instance.logoutRedirect({ postLogoutRedirectUri: \"/\" })}>Sign out using Redirect\n \n
\n
\n \n \n instance.loginPopup(loginRequest)}>Sign in using Popup\n instance.loginRedirect(loginRequest)}>Sign in using Redirect\n \n \n
\n \n );\n};","import { AuthenticatedTemplate } from \"@azure/msal-react\";\n\nimport { NavigationBar } from \"./NavigationBar\";\n\nexport const PageLayout = (props) => {\n \n /**\n * Most applications will need to conditionally render certain components based on whether a user is signed in or not. \n * msal-react provides 2 easy ways to do this. AuthenticatedTemplate and UnauthenticatedTemplate components will \n * only render their children if a user is authenticated or unauthenticated, respectively.\n */\n return (\n <>\n \n
\n
Welcome to the Microsoft Authentication Library For React Tutorial
\n
\n {props.children}\n
\n \n \n \n \n );\n};","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport const callApiWithToken = async(accessToken, apiEndpoint) => {\n const headers = new Headers();\n const bearer = `Bearer ${accessToken}`;\n\n headers.append(\"Authorization\", bearer);\n\n const options = {\n method: \"GET\",\n headers: headers\n };\n\n return fetch(apiEndpoint, options)\n .then(response => response.json())\n .catch(error => console.log(error));\n}","import \"../styles/App.css\";\nimport { protectedResources } from \"../authConfig\";\n\nexport const HelloData = (props) => {\n const tableRows = Object.entries(props.helloData).map((entry, index) => {\n return (\n {entry[0]}: \n {entry[1]}\n )\n });\n\n return (\n <>\n
\n

Calling custom protected web API...

\n \n

Contents of the response is below:

\n
\n
\n \n \n \n \n {tableRows}\n \n
\n
\n \n );\n}","import { useEffect, useState } from \"react\";\n\nimport { MsalAuthenticationTemplate, useMsal, useAccount } from \"@azure/msal-react\";\nimport { InteractionRequiredAuthError, InteractionType } from \"@azure/msal-browser\";\n\nimport { loginRequest, protectedResources } from \"../authConfig\";\nimport { callApiWithToken } from \"../fetch\";\nimport { HelloData } from \"../components/DataDisplay\";\n\nconst HelloContent = () => {\n /**\n * useMsal is hook that returns the PublicClientApplication instance, \n * an array of all accounts currently signed in and an inProgress value \n * that tells you what msal is currently doing. For more, visit: \n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-react/docs/hooks.md\n */\n const { instance, accounts, inProgress } = useMsal();\n const account = useAccount(accounts[0] || {});\n const [helloData, setHelloData] = useState(null);\n\tconst [stuff, setStuff] = useState(null);\n\t\n\n useEffect(() => {\n if (account && inProgress === \"none\" && !helloData) {\n instance.acquireTokenSilent({\n scopes: protectedResources.apiHello.scopes,\n account: account\n }).then((response) => {\n callApiWithToken(response.accessToken, protectedResources.apiHello.endpoint)\n .then(response => {\n\t\t\t\t\t\t\n\t\t\t\t\t\t//setHelloData(response);\n\t\t\t\t\t\t\n\t\t\t\t\t\t// var stuff2 = [];\n\t\t\t\t\t\t\n\t\t\t\t\t\t// stuff2.push(response[0].title);\n\t\t\t\t\t\t// stuff2.push(response[1].title);\n\t\t\t\t\t\t\n\t\t\t\t\t\t// setStuff(stuff2)\n\t\t\t\t\t\t\n\t\t\t\t\t\t//alert(stuff)\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t});\n }).catch((error) => {\n // in case if silent token acquisition fails, fallback to an interactive method\n if (error instanceof InteractionRequiredAuthError) {\n if (account && inProgress === \"none\") {\n instance.acquireTokenPopup({\n scopes: protectedResources.apiHello.scopes,\n }).then((response) => {\n callApiWithToken(response.accessToken, protectedResources.apiHello.endpoint)\n .then(response => setHelloData(response));\n }).catch(error => console.log(error));\n }\n }\n });\n }\n }, [account, inProgress, instance]);\n \n\t//alert(stuff)\n \n return (\n <>\n { stuff ? : null }\n \n );\n};\n\n/**\n * The `MsalAuthenticationTemplate` component will render its children if a user is authenticated \n * or attempt to sign a user in. Just provide it with the interaction type you would like to use \n * (redirect or popup) and optionally a [request object](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/request-response-object.md)\n * to be passed to the login API, a component to display while authentication is in progress or a component to display if an error occurs. For more, visit:\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-react/docs/getting-started.md\n */\nexport const Hello = () => {\n const authRequest = {\n ...loginRequest\n };\n\n return (\n \n \n \n )\n};","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport React, { useEffect } from \"react\";\nimport { BrowserRouter as Router, Switch, Route } from \"react-router-dom\";\n\nimport { MsalProvider, useMsal } from \"@azure/msal-react\";\nimport { EventType, InteractionType } from \"@azure/msal-browser\";\n\nimport { b2cPolicies } from \"./authConfig\";\nimport { PageLayout } from \"./components/PageLayout\";\nimport { Hello } from \"./pages/Hello\";\n\nimport \"./styles/App.css\";\n\nconst Pages = () => {\n\n /**\n * useMsal is hook that returns the PublicClientApplication instance, \n * an array of all accounts currently signed in and an inProgress value \n * that tells you what msal is currently doing. For more, visit:\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-react/docs/hooks.md\n */\n const { instance } = useMsal();\n\n /**\n * Using the event API, you can register an event callback that will do something when an event is emitted. \n * When registering an event callback in a react component you will need to make sure you do 2 things.\n * 1) The callback is registered only once\n * 2) The callback is unregistered before the component unmounts.\n * For more, visit: https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-react/docs/events.md\n */\n useEffect(() => {\n const callbackId = instance.addEventCallback((event) => {\n if (event.eventType === EventType.LOGIN_FAILURE) {\n if (event.error && event.error.errorMessage.indexOf(\"AADB2C90118\") > -1) {\n if (event.interactionType === InteractionType.Redirect) {\n instance.loginRedirect(b2cPolicies.authorities.forgotPassword);\n } else if (event.interactionType === InteractionType.Popup) {\n instance.loginPopup(b2cPolicies.authorities.forgotPassword)\n .catch(e => {\n return;\n });\n }\n }\n }\n\n if (event.eventType === EventType.LOGIN_SUCCESS || event.eventType === EventType.ACQUIRE_TOKEN_SUCCESS) {\n if (event?.payload) {\n /**\n * We need to reject id tokens that were not issued with the default sign-in policy.\n * \"acr\" claim in the token tells us what policy is used (NOTE: for new policies (v2.0), use \"tfp\" instead of \"acr\").\n * To learn more about B2C tokens, visit https://docs.microsoft.com/en-us/azure/active-directory-b2c/tokens-overview\n */\n if (event.payload.idTokenClaims[\"acr\"] === b2cPolicies.names.forgotPassword) {\n window.alert(\"Password has been reset successfully. \\nPlease sign-in with your new password.\");\n return instance.logout();\n } else if (event.payload.idTokenClaims[\"acr\"] === b2cPolicies.names.editProfile) {\n window.alert(\"Profile has been edited successfully. \\nPlease sign-in again.\");\n return instance.logout();\n }\n }\n }\n });\n\n return () => {\n if (callbackId) {\n instance.removeEventCallback(callbackId);\n }\n };\n }, []);\n\n return (\n \n \n \n \n \n )\n}\n\nconst App = ({ instance }) => {\n return (\n \n \n \n \n \n \n \n );\n}\n\nexport default App;","import React from \"react\";\nimport ReactDOM from \"react-dom\";\n\nimport { PublicClientApplication } from \"@azure/msal-browser\";\nimport { msalConfig } from \"./authConfig\";\n\nimport App from \"./App.jsx\";\n\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport \"./styles/index.css\";\n\n/**\n * MSAL should be instantiated outside of the component tree to prevent it from being re-instantiated on re-renders. \n * For more, visit: https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-react/docs/getting-started.md\n */\nconst msalInstance = new PublicClientApplication(msalConfig);\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n"],"sourceRoot":""}