@azure/msal-react
Advanced tools
Comparing version 1.0.0-beta.2 to 1.0.0-beta.3
@@ -5,2 +5,37 @@ { | ||
{ | ||
"date": "Wed, 12 May 2021 18:35:03 GMT", | ||
"tag": "@azure/msal-react_v1.0.0-beta.3", | ||
"version": "1.0.0-beta.3", | ||
"comments": { | ||
"none": [ | ||
{ | ||
"comment": "replace legacy password-reset flow", | ||
"author": "dogan.erisen@gmail.com", | ||
"commit": "f272ffce86591aeeacd892f3b53e522ebcd19555", | ||
"package": "@azure/msal-react" | ||
}, | ||
{ | ||
"comment": "Regenerate package-lock #3510", | ||
"author": "joarroyo@microsoft.com", | ||
"commit": "ba0092a452f71a7bc58aaf7acdf94536d66f7493", | ||
"package": "@azure/msal-react" | ||
} | ||
], | ||
"prerelease": [ | ||
{ | ||
"comment": "Fix extra state update in useAccount hook #3527", | ||
"author": "thomas.norling@microsoft.com", | ||
"commit": "878253750fecf12b4a865a5821df20d333ff0134", | ||
"package": "@azure/msal-react" | ||
}, | ||
{ | ||
"comment": "Prevent UnauthenticatedTemplate from rendering children while processing redirect response #3552", | ||
"author": "thomas.norling@microsoft.com", | ||
"commit": "90afc948d8ab779526679d60433b2d81ea7557bc", | ||
"package": "@azure/msal-react" | ||
} | ||
] | ||
} | ||
}, | ||
{ | ||
"date": "Thu, 22 Apr 2021 23:26:08 GMT", | ||
@@ -7,0 +42,0 @@ "tag": "@azure/msal-react_v1.0.0-beta.2", |
# Change Log - @azure/msal-react | ||
This log was last generated on Thu, 22 Apr 2021 23:26:08 GMT and should not be manually modified. | ||
This log was last generated on Wed, 12 May 2021 18:35:03 GMT and should not be manually modified. | ||
<!-- Start content --> | ||
## 1.0.0-beta.3 | ||
Wed, 12 May 2021 18:35:03 GMT | ||
### Changes | ||
- Fix extra state update in useAccount hook #3527 (thomas.norling@microsoft.com) | ||
- Prevent UnauthenticatedTemplate from rendering children while processing redirect response #3552 (thomas.norling@microsoft.com) | ||
## 1.0.0-beta.2 | ||
@@ -8,0 +17,0 @@ |
@@ -66,3 +66,3 @@ 'use strict'; | ||
const name = "@azure/msal-react"; | ||
const version = "1.0.0-beta.2"; | ||
const version = "1.0.0-beta.3"; | ||
@@ -205,4 +205,8 @@ /* | ||
React.useEffect(() => { | ||
setAccount(getAccount(instance, accountIdentifiers)); | ||
}, [inProgress, accountIdentifiers, instance]); | ||
const currentAccount = getAccount(instance, accountIdentifiers); | ||
if (!msalBrowser.AccountEntity.accountInfoIsEqual(account, currentAccount, true)) { | ||
setAccount(currentAccount); | ||
} | ||
}, [inProgress, accountIdentifiers, instance, account]); | ||
return account; | ||
@@ -300,3 +304,3 @@ } | ||
if (!isAuthenticated && context.inProgress !== msalBrowser.InteractionStatus.Startup) { | ||
if (!isAuthenticated && context.inProgress !== msalBrowser.InteractionStatus.Startup && context.inProgress !== msalBrowser.InteractionStatus.HandleRedirect) { | ||
return React__default.createElement(React__default.Fragment, null, getChildrenOrFunction(children, context)); | ||
@@ -303,0 +307,0 @@ } |
@@ -1,2 +0,2 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,o=require("@azure/msal-browser");const c=t.createContext({instance:o.stubbedPublicClientApplication,inProgress:o.InteractionStatus.None,accounts:[],logger:new o.Logger({})}),r=c.Consumer;function a(e,t){return"function"==typeof e?e(t):e}const s=()=>t.useContext(c);function u(e,t){const n=e.getAllAccounts();return n.length>0&&(t.homeAccountId||t.localAccountId||t.username)&&n.filter(e=>!(t.username&&t.username.toLowerCase()!==e.username.toLowerCase()||t.homeAccountId&&t.homeAccountId.toLowerCase()!==e.homeAccountId.toLowerCase()||t.localAccountId&&t.localAccountId.toLowerCase()!==e.localAccountId.toLowerCase()))[0]||null}function l(e){const{instance:n,inProgress:c}=s(),r=c===o.InteractionStatus.Startup?null:u(n,e),[a,l]=t.useState(r);return t.useEffect(()=>{l(u(n,e))},[c,e,n]),a}function i(e,t,n){return n&&(n.username||n.homeAccountId||n.localAccountId)?!!t:e.length>0}function d(e){const{accounts:n,inProgress:c}=s(),r=l(e||{}),a=c!==o.InteractionStatus.Startup&&i(n,r,e),[u,d]=t.useState(a);return t.useEffect(()=>{d(i(n,r,e))},[n,r,e]),u}function p(e,n,c){const{instance:r,inProgress:a,logger:u}=s(),l=d(c),[[i,p],m]=t.useState([null,null]),[v,E]=t.useState(!1),I=t.useCallback(async(t,c)=>{const a=c||n;switch(t||e){case o.InteractionType.Popup:return u.verbose("useMsalAuthentication - Calling loginPopup"),r.loginPopup(a);case o.InteractionType.Redirect:return u.verbose("useMsalAuthentication - Calling loginRedirect"),r.loginRedirect(a).then(null);case o.InteractionType.Silent:return u.verbose("useMsalAuthentication - Calling ssoSilent"),r.ssoSilent(a);default:throw"Invalid interaction type provided."}},[r,e,n,u]);return t.useEffect(()=>{const e=r.addEventCallback(e=>{switch(e.eventType){case o.EventType.LOGIN_SUCCESS:case o.EventType.SSO_SILENT_SUCCESS:e.payload&&m([e.payload,null]);break;case o.EventType.LOGIN_FAILURE:case o.EventType.SSO_SILENT_FAILURE:e.error&&m([null,e.error])}});return u.verbose("useMsalAuthentication - Registered event callback with id: "+e),()=>{e&&(u.verbose("useMsalAuthentication - Removing event callback "+e),r.removeEventCallback(e))}},[r,u]),t.useEffect(()=>{v||p||l||a!==o.InteractionStatus.None||(u.info("useMsalAuthentication - No user is authenticated, attempting to login"),E(!0),I().catch(()=>{}))},[l,a,p,v,I,u]),{login:I,result:i,error:p}}exports.AuthenticatedTemplate=function({username:e,homeAccountId:c,localAccountId:r,children:u}){const l=s();return d(t.useMemo(()=>({username:e,homeAccountId:c,localAccountId:r}),[e,c,r]))&&l.inProgress!==o.InteractionStatus.Startup?n.createElement(n.Fragment,null,a(u,l)):null},exports.MsalAuthenticationTemplate=function({interactionType:e,username:c,homeAccountId:r,localAccountId:u,authenticationRequest:l,loadingComponent:i,errorComponent:m,children:v}){const E=t.useMemo(()=>({username:c,homeAccountId:r,localAccountId:u}),[c,r,u]),I=s(),g=p(e,l,E),S=d(E);if(g.error&&I.inProgress===o.InteractionStatus.None){if(m)return n.createElement(m,Object.assign({},g));throw g.error}return S?n.createElement(n.Fragment,null,a(v,g)):i&&I.inProgress!==o.InteractionStatus.None?n.createElement(i,Object.assign({},I)):null},exports.MsalConsumer=r,exports.MsalContext=c,exports.MsalProvider=function({instance:e,children:r}){t.useEffect(()=>{e.initializeWrapperLibrary(o.WrapperSKU.React,"1.0.0-beta.2")},[e]);const a=t.useMemo(()=>e.getLogger().clone("@azure/msal-react","1.0.0-beta.2"),[e]),[s,u]=t.useState([]),[l,i]=t.useState(o.InteractionStatus.Startup);return t.useEffect(()=>{const t=e.addEventCallback(t=>{switch(t.eventType){case o.EventType.LOGIN_SUCCESS:case o.EventType.SSO_SILENT_SUCCESS:case o.EventType.HANDLE_REDIRECT_END:case o.EventType.LOGIN_FAILURE:case o.EventType.SSO_SILENT_FAILURE:case o.EventType.LOGOUT_END:case o.EventType.ACQUIRE_TOKEN_SUCCESS:case o.EventType.ACQUIRE_TOKEN_FAILURE:const t=e.getAllAccounts();!function(e,t){if(e.length!==t.length)return!1;const n=[...t];return e.every(e=>{const t=n.shift();return!(!e||!t)&&e.homeAccountId===t.homeAccountId&&e.localAccountId===t.localAccountId&&e.username===t.username})}(t,s)?(a.info("MsalProvider - updating account state"),u(t)):a.info("MsalProvider - no account changes")}});return a.verbose("MsalProvider - Registered event callback with id: "+t),()=>{t&&(a.verbose("MsalProvider - Removing event callback "+t),e.removeEventCallback(t))}},[e,s,a]),t.useEffect(()=>{const t=e.addEventCallback(e=>{const t=o.EventMessageUtils.getInteractionStatusFromEvent(e);null!==t&&(a.info(`MsalProvider - ${e.eventType} results in setting inProgress to ${t}`),i(t))});return a.verbose("MsalProvider - Registered event callback with id: "+t),e.handleRedirectPromise().catch(()=>{}),()=>{t&&(a.verbose("MsalProvider - Removing event callback "+t),e.removeEventCallback(t))}},[e,a]),n.createElement(c.Provider,{value:{instance:e,inProgress:l,accounts:s,logger:a}},r)},exports.UnauthenticatedTemplate=function({username:e,homeAccountId:c,localAccountId:r,children:u}){const l=s();return d(t.useMemo(()=>({username:e,homeAccountId:c,localAccountId:r}),[e,c,r]))||l.inProgress===o.InteractionStatus.Startup?null:n.createElement(n.Fragment,null,a(u,l))},exports.useAccount=l,exports.useIsAuthenticated=d,exports.useMsal=s,exports.useMsalAuthentication=p,exports.withMsal=e=>{const t=t=>{const o=s();return n.createElement(e,Object.assign({},t,{msalContext:o}))};return t.displayName=`withMsal(${e.displayName||e.name||"Component"})`,t}; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,o=require("@azure/msal-browser");const c=t.createContext({instance:o.stubbedPublicClientApplication,inProgress:o.InteractionStatus.None,accounts:[],logger:new o.Logger({})}),r=c.Consumer;function a(e,t){return"function"==typeof e?e(t):e}const s=()=>t.useContext(c);function u(e,t){const n=e.getAllAccounts();return n.length>0&&(t.homeAccountId||t.localAccountId||t.username)&&n.filter(e=>!(t.username&&t.username.toLowerCase()!==e.username.toLowerCase()||t.homeAccountId&&t.homeAccountId.toLowerCase()!==e.homeAccountId.toLowerCase()||t.localAccountId&&t.localAccountId.toLowerCase()!==e.localAccountId.toLowerCase()))[0]||null}function l(e){const{instance:n,inProgress:c}=s(),r=c===o.InteractionStatus.Startup?null:u(n,e),[a,l]=t.useState(r);return t.useEffect(()=>{const t=u(n,e);o.AccountEntity.accountInfoIsEqual(a,t,!0)||l(t)},[c,e,n,a]),a}function i(e,t,n){return n&&(n.username||n.homeAccountId||n.localAccountId)?!!t:e.length>0}function d(e){const{accounts:n,inProgress:c}=s(),r=l(e||{}),a=c!==o.InteractionStatus.Startup&&i(n,r,e),[u,d]=t.useState(a);return t.useEffect(()=>{d(i(n,r,e))},[n,r,e]),u}function p(e,n,c){const{instance:r,inProgress:a,logger:u}=s(),l=d(c),[[i,p],m]=t.useState([null,null]),[I,v]=t.useState(!1),E=t.useCallback(async(t,c)=>{const a=c||n;switch(t||e){case o.InteractionType.Popup:return u.verbose("useMsalAuthentication - Calling loginPopup"),r.loginPopup(a);case o.InteractionType.Redirect:return u.verbose("useMsalAuthentication - Calling loginRedirect"),r.loginRedirect(a).then(null);case o.InteractionType.Silent:return u.verbose("useMsalAuthentication - Calling ssoSilent"),r.ssoSilent(a);default:throw"Invalid interaction type provided."}},[r,e,n,u]);return t.useEffect(()=>{const e=r.addEventCallback(e=>{switch(e.eventType){case o.EventType.LOGIN_SUCCESS:case o.EventType.SSO_SILENT_SUCCESS:e.payload&&m([e.payload,null]);break;case o.EventType.LOGIN_FAILURE:case o.EventType.SSO_SILENT_FAILURE:e.error&&m([null,e.error])}});return u.verbose("useMsalAuthentication - Registered event callback with id: "+e),()=>{e&&(u.verbose("useMsalAuthentication - Removing event callback "+e),r.removeEventCallback(e))}},[r,u]),t.useEffect(()=>{I||p||l||a!==o.InteractionStatus.None||(u.info("useMsalAuthentication - No user is authenticated, attempting to login"),v(!0),E().catch(()=>{}))},[l,a,p,I,E,u]),{login:E,result:i,error:p}}exports.AuthenticatedTemplate=function({username:e,homeAccountId:c,localAccountId:r,children:u}){const l=s();return d(t.useMemo(()=>({username:e,homeAccountId:c,localAccountId:r}),[e,c,r]))&&l.inProgress!==o.InteractionStatus.Startup?n.createElement(n.Fragment,null,a(u,l)):null},exports.MsalAuthenticationTemplate=function({interactionType:e,username:c,homeAccountId:r,localAccountId:u,authenticationRequest:l,loadingComponent:i,errorComponent:m,children:I}){const v=t.useMemo(()=>({username:c,homeAccountId:r,localAccountId:u}),[c,r,u]),E=s(),g=p(e,l,v),S=d(v);if(g.error&&E.inProgress===o.InteractionStatus.None){if(m)return n.createElement(m,Object.assign({},g));throw g.error}return S?n.createElement(n.Fragment,null,a(I,g)):i&&E.inProgress!==o.InteractionStatus.None?n.createElement(i,Object.assign({},E)):null},exports.MsalConsumer=r,exports.MsalContext=c,exports.MsalProvider=function({instance:e,children:r}){t.useEffect(()=>{e.initializeWrapperLibrary(o.WrapperSKU.React,"1.0.0-beta.3")},[e]);const a=t.useMemo(()=>e.getLogger().clone("@azure/msal-react","1.0.0-beta.3"),[e]),[s,u]=t.useState([]),[l,i]=t.useState(o.InteractionStatus.Startup);return t.useEffect(()=>{const t=e.addEventCallback(t=>{switch(t.eventType){case o.EventType.LOGIN_SUCCESS:case o.EventType.SSO_SILENT_SUCCESS:case o.EventType.HANDLE_REDIRECT_END:case o.EventType.LOGIN_FAILURE:case o.EventType.SSO_SILENT_FAILURE:case o.EventType.LOGOUT_END:case o.EventType.ACQUIRE_TOKEN_SUCCESS:case o.EventType.ACQUIRE_TOKEN_FAILURE:const t=e.getAllAccounts();!function(e,t){if(e.length!==t.length)return!1;const n=[...t];return e.every(e=>{const t=n.shift();return!(!e||!t)&&e.homeAccountId===t.homeAccountId&&e.localAccountId===t.localAccountId&&e.username===t.username})}(t,s)?(a.info("MsalProvider - updating account state"),u(t)):a.info("MsalProvider - no account changes")}});return a.verbose("MsalProvider - Registered event callback with id: "+t),()=>{t&&(a.verbose("MsalProvider - Removing event callback "+t),e.removeEventCallback(t))}},[e,s,a]),t.useEffect(()=>{const t=e.addEventCallback(e=>{const t=o.EventMessageUtils.getInteractionStatusFromEvent(e);null!==t&&(a.info(`MsalProvider - ${e.eventType} results in setting inProgress to ${t}`),i(t))});return a.verbose("MsalProvider - Registered event callback with id: "+t),e.handleRedirectPromise().catch(()=>{}),()=>{t&&(a.verbose("MsalProvider - Removing event callback "+t),e.removeEventCallback(t))}},[e,a]),n.createElement(c.Provider,{value:{instance:e,inProgress:l,accounts:s,logger:a}},r)},exports.UnauthenticatedTemplate=function({username:e,homeAccountId:c,localAccountId:r,children:u}){const l=s();return d(t.useMemo(()=>({username:e,homeAccountId:c,localAccountId:r}),[e,c,r]))||l.inProgress===o.InteractionStatus.Startup||l.inProgress===o.InteractionStatus.HandleRedirect?null:n.createElement(n.Fragment,null,a(u,l))},exports.useAccount=l,exports.useIsAuthenticated=d,exports.useMsal=s,exports.useMsalAuthentication=p,exports.withMsal=e=>{const t=t=>{const o=s();return n.createElement(e,Object.assign({},t,{msalContext:o}))};return t.displayName=`withMsal(${e.displayName||e.name||"Component"})`,t}; | ||
//# sourceMappingURL=msal-react.cjs.production.min.js.map |
import React__default, { createContext, useEffect, useMemo, useState, useContext, useCallback } from 'react'; | ||
import { stubbedPublicClientApplication, InteractionStatus, Logger, WrapperSKU, EventType, EventMessageUtils, InteractionType } from '@azure/msal-browser'; | ||
import { stubbedPublicClientApplication, InteractionStatus, Logger, WrapperSKU, EventType, EventMessageUtils, AccountEntity, InteractionType } from '@azure/msal-browser'; | ||
@@ -59,3 +59,3 @@ /* | ||
const name = "@azure/msal-react"; | ||
const version = "1.0.0-beta.2"; | ||
const version = "1.0.0-beta.3"; | ||
@@ -198,4 +198,8 @@ /* | ||
useEffect(() => { | ||
setAccount(getAccount(instance, accountIdentifiers)); | ||
}, [inProgress, accountIdentifiers, instance]); | ||
const currentAccount = getAccount(instance, accountIdentifiers); | ||
if (!AccountEntity.accountInfoIsEqual(account, currentAccount, true)) { | ||
setAccount(currentAccount); | ||
} | ||
}, [inProgress, accountIdentifiers, instance, account]); | ||
return account; | ||
@@ -293,3 +297,3 @@ } | ||
if (!isAuthenticated && context.inProgress !== InteractionStatus.Startup) { | ||
if (!isAuthenticated && context.inProgress !== InteractionStatus.Startup && context.inProgress !== InteractionStatus.HandleRedirect) { | ||
return React__default.createElement(React__default.Fragment, null, getChildrenOrFunction(children, context)); | ||
@@ -296,0 +300,0 @@ } |
export declare const name = "@azure/msal-react"; | ||
export declare const version = "1.0.0-beta.2"; | ||
export declare const version = "1.0.0-beta.3"; |
{ | ||
"name": "@azure/msal-react", | ||
"version": "1.0.0-beta.2", | ||
"version": "1.0.0-beta.3", | ||
"author": { | ||
@@ -26,3 +26,3 @@ "name": "Microsoft", | ||
"build": "tsdx build --tsconfig ./tsconfig.build.json", | ||
"build:modules:watch": "tsdx watch --verbose", | ||
"build:modules:watch": "tsdx watch --verbose --tsconfig ./tsconfig.build.json", | ||
"test": "tsdx test .*.spec.*", | ||
@@ -39,3 +39,3 @@ "test:watch": "tsdx test .*.spec.* --watch", | ||
"peerDependencies": { | ||
"@azure/msal-browser": "^2.14.1", | ||
"@azure/msal-browser": "^2.14.2", | ||
"react": "^16.13.0 || ^17" | ||
@@ -45,3 +45,3 @@ }, | ||
"devDependencies": { | ||
"@azure/msal-browser": "^2.14.1", | ||
"@azure/msal-browser": "^2.14.2", | ||
"@testing-library/jest-dom": "^5.11.5", | ||
@@ -48,0 +48,0 @@ "@testing-library/react": "^11.2.3", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
173623
1416