@webiny/app-admin-cognito 5.40.0-beta.5 → 5.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +11 -1
- package/index.js.map +1 -1
- package/package.json +13 -13
- package/views/SignIn.d.ts +3 -0
- package/views/SignIn.js +12 -9
- package/views/SignIn.js.map +1 -1
package/index.js
CHANGED
|
@@ -93,7 +93,8 @@ var createAuthentication = exports.createAuthentication = function createAuthent
|
|
|
93
93
|
loadingIdentity = _useState2[0],
|
|
94
94
|
setLoadingIdentity = _useState2[1];
|
|
95
95
|
var _useSecurity = (0, _appSecurity.useSecurity)(),
|
|
96
|
-
setIdentity = _useSecurity.setIdentity
|
|
96
|
+
setIdentity = _useSecurity.setIdentity,
|
|
97
|
+
setIdTokenProvider = _useSecurity.setIdTokenProvider;
|
|
97
98
|
var client = (0, _reactHooks.useApolloClient)();
|
|
98
99
|
var onToken = (0, _react.useCallback)(async function (token) {
|
|
99
100
|
var payload = token.payload,
|
|
@@ -132,6 +133,15 @@ var createAuthentication = exports.createAuthentication = function createAuthent
|
|
|
132
133
|
}
|
|
133
134
|
}, []);
|
|
134
135
|
(0, _react.useEffect)(function () {
|
|
136
|
+
/**
|
|
137
|
+
* We need to give the security layer a way to fetch the `idToken`, so other network clients can use
|
|
138
|
+
* it when sending requests to external services (APIs, websockets,...).
|
|
139
|
+
*/
|
|
140
|
+
setIdTokenProvider(async function () {
|
|
141
|
+
var user = await _auth.Auth.currentSession();
|
|
142
|
+
var idToken = user.getIdToken();
|
|
143
|
+
return idToken ? idToken.getJwtToken() : undefined;
|
|
144
|
+
});
|
|
135
145
|
_plugins.plugins.register(createApolloLinkPlugin());
|
|
136
146
|
}, []);
|
|
137
147
|
return /*#__PURE__*/_react.default.createElement(_Authenticator.Authenticator, {
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_auth","_reactHooks","_apolloLinkContext","_plugins","_ApolloLinkPlugin","_Authenticator","_appSecurity","_config","_SignIn","_RequireNewPassword","_ForgotPassword","_SetNewPassword","_SignedIn","_LoggingIn","_FederatedProviders","_View","_excluded","_excluded2","Components","exports","View","FederatedProviders","SignIn","createApolloLinkPlugin","ApolloLinkPlugin","setContext","_","_ref","headers","user","Auth","currentSession","idToken","getIdToken","Authorization","_objectSpread2","default","concat","getJwtToken","validatePermissions","permissions","appPermissions","filter","p","name","length","Error","defaultOptions","region","appConfig","getKey","process","env","REACT_APP_USER_POOL_REGION","userPoolId","REACT_APP_USER_POOL_ID","userPoolWebClientId","REACT_APP_USER_POOL_WEB_CLIENT_ID","createAuthentication","_ref2","_ref2$allowSignInWith","allowSignInWithCredentials","getIdentityData","onError","config","_objectWithoutProperties2","Object","keys","forEach","key","undefined","configure","Authentication","props","children","_useState","useState","_useState2","_slicedToArray2","loadingIdentity","setLoadingIdentity","_useSecurity","useSecurity","setIdentity","client","useApolloClient","onToken","useCallback","token","payload","logout","_await$getIdentityDat","id","displayName","type","data","err","console","log","error","useEffect","plugins","register","createElement","Authenticator","LoggingIn","federatedProviders","RequireNewPassword","ForgotPassword","SetNewPassword","SignedIn"],"sources":["index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { Auth } from \"@aws-amplify/auth\";\nimport { AuthOptions } from \"@aws-amplify/auth/lib-esm/types\";\nimport ApolloClient from \"apollo-client\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { setContext } from \"apollo-link-context\";\nimport { plugins } from \"@webiny/plugins\";\nimport { ApolloLinkPlugin } from \"@webiny/app/plugins/ApolloLinkPlugin\";\nimport { SecurityPermission } from \"@webiny/app-security/types\";\nimport { CognitoIdToken } from \"@webiny/app-cognito-authenticator/types\";\nimport { Authenticator } from \"@webiny/app-cognito-authenticator/Authenticator\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { config as appConfig } from \"@webiny/app/config\";\nimport { SignIn } from \"~/views/SignIn\";\nimport { RequireNewPassword } from \"~/views/RequireNewPassword\";\nimport { ForgotPassword } from \"~/views/ForgotPassword\";\nimport { SetNewPassword } from \"~/views/SetNewPassword\";\nimport { SignedIn } from \"~/views/SignedIn\";\nimport { LoggingIn } from \"~/views/LoggingIn\";\nimport { FederatedIdentityProvider } from \"~/federatedIdentityProviders\";\nimport { FederatedProviders } from \"~/components/FederatedProviders\";\nimport { View } from \"~/components/View\";\n\nexport const Components = {\n View,\n FederatedProviders,\n SignIn\n};\n\nconst createApolloLinkPlugin = (): ApolloLinkPlugin => {\n return new ApolloLinkPlugin(() => {\n return setContext(async (_, { headers }) => {\n const user = await Auth.currentSession();\n const idToken = user.getIdToken();\n\n if (!idToken) {\n return { headers };\n }\n\n // If \"Authorization\" header is already set, don't overwrite it.\n if (headers && headers.Authorization) {\n return { headers };\n }\n\n return {\n headers: {\n ...headers,\n Authorization: `Bearer ${idToken.getJwtToken()}`\n }\n };\n });\n });\n};\n\nconst validatePermissions = (permissions: SecurityPermission[]) => {\n const appPermissions = permissions.filter(p => p.name !== \"aacl\");\n if (appPermissions.length === 0) {\n throw new Error(\"You have no permissions on this tenant!\");\n }\n};\n\nconst defaultOptions = {\n region: appConfig.getKey(\"USER_POOL_REGION\", process.env.REACT_APP_USER_POOL_REGION),\n userPoolId: appConfig.getKey(\"USER_POOL_ID\", process.env.REACT_APP_USER_POOL_ID),\n userPoolWebClientId: appConfig.getKey(\n \"USER_POOL_WEB_CLIENT_ID\",\n process.env.REACT_APP_USER_POOL_WEB_CLIENT_ID\n )\n};\n\nexport interface AuthenticationProps {\n children: React.ReactNode;\n}\n\nexport interface AuthenticationFactoryConfig extends AuthOptions {\n allowSignInWithCredentials?: boolean;\n federatedProviders?: FederatedIdentityProvider[];\n onError?: (error: Error) => void;\n getIdentityData: (params: {\n client: ApolloClient<any>;\n payload: { [key: string]: any };\n }) => Promise<{ [key: string]: any }>;\n}\n\ninterface AuthenticationFactory {\n (params: AuthenticationFactoryConfig): React.ComponentType<AuthenticationProps>;\n}\n\nexport const createAuthentication: AuthenticationFactory = ({\n allowSignInWithCredentials = true,\n getIdentityData,\n onError,\n ...config\n}) => {\n /**\n * TODO @ts-refactor\n */\n // @ts-expect-error\n Object.keys(config).forEach(key => config[key] === undefined && delete config[key]);\n Auth.configure({ ...defaultOptions, ...config });\n\n const Authentication = (props: AuthenticationProps) => {\n const { children } = props;\n const [loadingIdentity, setLoadingIdentity] = useState(false);\n const { setIdentity } = useSecurity();\n const client = useApolloClient();\n\n const onToken = useCallback(async (token: CognitoIdToken) => {\n const { payload, logout } = token;\n\n setLoadingIdentity(true);\n\n try {\n const { id, displayName, type, permissions, ...data } = await getIdentityData({\n client,\n payload\n });\n\n setIdentity({\n id,\n displayName,\n type,\n permissions,\n ...data,\n logout:\n logout ||\n (() => {\n return void 0;\n })\n });\n\n validatePermissions(permissions);\n } catch (err) {\n console.log(\"ERROR\", err);\n if (typeof onError === \"function\") {\n onError(err);\n } else {\n console.error(err);\n }\n } finally {\n setLoadingIdentity(false);\n }\n }, []);\n\n useEffect(() => {\n plugins.register(createApolloLinkPlugin());\n }, []);\n\n return (\n <Authenticator onToken={onToken}>\n {loadingIdentity ? (\n <LoggingIn />\n ) : (\n <SignIn\n federatedProviders={config.federatedProviders}\n allowSignInWithCredentials={allowSignInWithCredentials}\n />\n )}\n <RequireNewPassword />\n <ForgotPassword />\n <SetNewPassword />\n <SignedIn>{children}</SignedIn>\n </Authenticator>\n );\n };\n\n return Authentication;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_auth","_reactHooks","_apolloLinkContext","_plugins","_ApolloLinkPlugin","_Authenticator","_appSecurity","_config","_SignIn","_RequireNewPassword","_ForgotPassword","_SetNewPassword","_SignedIn","_LoggingIn","_FederatedProviders","_View","_excluded","_excluded2","Components","exports","View","FederatedProviders","SignIn","createApolloLinkPlugin","ApolloLinkPlugin","setContext","_","_ref","headers","user","Auth","currentSession","idToken","getIdToken","Authorization","_objectSpread2","default","concat","getJwtToken","validatePermissions","permissions","appPermissions","filter","p","name","length","Error","defaultOptions","region","appConfig","getKey","process","env","REACT_APP_USER_POOL_REGION","userPoolId","REACT_APP_USER_POOL_ID","userPoolWebClientId","REACT_APP_USER_POOL_WEB_CLIENT_ID","createAuthentication","_ref2","_ref2$allowSignInWith","allowSignInWithCredentials","getIdentityData","onError","config","_objectWithoutProperties2","Object","keys","forEach","key","undefined","configure","Authentication","props","children","_useState","useState","_useState2","_slicedToArray2","loadingIdentity","setLoadingIdentity","_useSecurity","useSecurity","setIdentity","setIdTokenProvider","client","useApolloClient","onToken","useCallback","token","payload","logout","_await$getIdentityDat","id","displayName","type","data","err","console","log","error","useEffect","plugins","register","createElement","Authenticator","LoggingIn","federatedProviders","RequireNewPassword","ForgotPassword","SetNewPassword","SignedIn"],"sources":["index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { Auth } from \"@aws-amplify/auth\";\nimport { AuthOptions } from \"@aws-amplify/auth/lib-esm/types\";\nimport ApolloClient from \"apollo-client\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { setContext } from \"apollo-link-context\";\nimport { plugins } from \"@webiny/plugins\";\nimport { ApolloLinkPlugin } from \"@webiny/app/plugins/ApolloLinkPlugin\";\nimport { SecurityPermission } from \"@webiny/app-security/types\";\nimport { CognitoIdToken } from \"@webiny/app-cognito-authenticator/types\";\nimport { Authenticator } from \"@webiny/app-cognito-authenticator/Authenticator\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { config as appConfig } from \"@webiny/app/config\";\nimport { SignIn } from \"~/views/SignIn\";\nimport { RequireNewPassword } from \"~/views/RequireNewPassword\";\nimport { ForgotPassword } from \"~/views/ForgotPassword\";\nimport { SetNewPassword } from \"~/views/SetNewPassword\";\nimport { SignedIn } from \"~/views/SignedIn\";\nimport { LoggingIn } from \"~/views/LoggingIn\";\nimport { FederatedIdentityProvider } from \"~/federatedIdentityProviders\";\nimport { FederatedProviders } from \"~/components/FederatedProviders\";\nimport { View } from \"~/components/View\";\n\nexport const Components = {\n View,\n FederatedProviders,\n SignIn\n};\n\nconst createApolloLinkPlugin = (): ApolloLinkPlugin => {\n return new ApolloLinkPlugin(() => {\n return setContext(async (_, { headers }) => {\n const user = await Auth.currentSession();\n const idToken = user.getIdToken();\n\n if (!idToken) {\n return { headers };\n }\n\n // If \"Authorization\" header is already set, don't overwrite it.\n if (headers && headers.Authorization) {\n return { headers };\n }\n\n return {\n headers: {\n ...headers,\n Authorization: `Bearer ${idToken.getJwtToken()}`\n }\n };\n });\n });\n};\n\nconst validatePermissions = (permissions: SecurityPermission[]) => {\n const appPermissions = permissions.filter(p => p.name !== \"aacl\");\n if (appPermissions.length === 0) {\n throw new Error(\"You have no permissions on this tenant!\");\n }\n};\n\nconst defaultOptions = {\n region: appConfig.getKey(\"USER_POOL_REGION\", process.env.REACT_APP_USER_POOL_REGION),\n userPoolId: appConfig.getKey(\"USER_POOL_ID\", process.env.REACT_APP_USER_POOL_ID),\n userPoolWebClientId: appConfig.getKey(\n \"USER_POOL_WEB_CLIENT_ID\",\n process.env.REACT_APP_USER_POOL_WEB_CLIENT_ID\n )\n};\n\nexport interface AuthenticationProps {\n children: React.ReactNode;\n}\n\nexport interface AuthenticationFactoryConfig extends AuthOptions {\n allowSignInWithCredentials?: boolean;\n federatedProviders?: FederatedIdentityProvider[];\n onError?: (error: Error) => void;\n getIdentityData: (params: {\n client: ApolloClient<any>;\n payload: { [key: string]: any };\n }) => Promise<{ [key: string]: any }>;\n}\n\ninterface AuthenticationFactory {\n (params: AuthenticationFactoryConfig): React.ComponentType<AuthenticationProps>;\n}\n\nexport const createAuthentication: AuthenticationFactory = ({\n allowSignInWithCredentials = true,\n getIdentityData,\n onError,\n ...config\n}) => {\n /**\n * TODO @ts-refactor\n */\n // @ts-expect-error\n Object.keys(config).forEach(key => config[key] === undefined && delete config[key]);\n Auth.configure({ ...defaultOptions, ...config });\n\n const Authentication = (props: AuthenticationProps) => {\n const { children } = props;\n const [loadingIdentity, setLoadingIdentity] = useState(false);\n const { setIdentity, setIdTokenProvider } = useSecurity();\n const client = useApolloClient();\n\n const onToken = useCallback(async (token: CognitoIdToken) => {\n const { payload, logout } = token;\n\n setLoadingIdentity(true);\n\n try {\n const { id, displayName, type, permissions, ...data } = await getIdentityData({\n client,\n payload\n });\n\n setIdentity({\n id,\n displayName,\n type,\n permissions,\n ...data,\n logout:\n logout ||\n (() => {\n return void 0;\n })\n });\n\n validatePermissions(permissions);\n } catch (err) {\n console.log(\"ERROR\", err);\n if (typeof onError === \"function\") {\n onError(err);\n } else {\n console.error(err);\n }\n } finally {\n setLoadingIdentity(false);\n }\n }, []);\n\n useEffect(() => {\n /**\n * We need to give the security layer a way to fetch the `idToken`, so other network clients can use\n * it when sending requests to external services (APIs, websockets,...).\n */\n setIdTokenProvider(async () => {\n const user = await Auth.currentSession();\n const idToken = user.getIdToken();\n\n return idToken ? idToken.getJwtToken() : undefined;\n });\n\n plugins.register(createApolloLinkPlugin());\n }, []);\n\n return (\n <Authenticator onToken={onToken}>\n {loadingIdentity ? (\n <LoggingIn />\n ) : (\n <SignIn\n federatedProviders={config.federatedProviders}\n allowSignInWithCredentials={allowSignInWithCredentials}\n />\n )}\n <RequireNewPassword />\n <ForgotPassword />\n <SetNewPassword />\n <SignedIn>{children}</SignedIn>\n </Authenticator>\n );\n };\n\n return Authentication;\n};\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAGA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AAGA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,mBAAA,GAAAV,OAAA;AACA,IAAAW,eAAA,GAAAX,OAAA;AACA,IAAAY,eAAA,GAAAZ,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,UAAA,GAAAd,OAAA;AAEA,IAAAe,mBAAA,GAAAf,OAAA;AACA,IAAAgB,KAAA,GAAAhB,OAAA;AAAyC,IAAAiB,SAAA;EAAAC,UAAA;AAElC,IAAMC,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG;EACtBE,IAAI,EAAJA,UAAI;EACJC,kBAAkB,EAAlBA,sCAAkB;EAClBC,MAAM,EAANA;AACJ,CAAC;AAED,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA,EAA2B;EACnD,OAAO,IAAIC,kCAAgB,CAAC,YAAM;IAC9B,OAAO,IAAAC,6BAAU,EAAC,gBAAOC,CAAC,EAAAC,IAAA,EAAkB;MAAA,IAAdC,OAAO,GAAAD,IAAA,CAAPC,OAAO;MACjC,IAAMC,IAAI,GAAG,MAAMC,UAAI,CAACC,cAAc,CAAC,CAAC;MACxC,IAAMC,OAAO,GAAGH,IAAI,CAACI,UAAU,CAAC,CAAC;MAEjC,IAAI,CAACD,OAAO,EAAE;QACV,OAAO;UAAEJ,OAAO,EAAPA;QAAQ,CAAC;MACtB;;MAEA;MACA,IAAIA,OAAO,IAAIA,OAAO,CAACM,aAAa,EAAE;QAClC,OAAO;UAAEN,OAAO,EAAPA;QAAQ,CAAC;MACtB;MAEA,OAAO;QACHA,OAAO,MAAAO,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACAR,OAAO;UACVM,aAAa,YAAAG,MAAA,CAAYL,OAAO,CAACM,WAAW,CAAC,CAAC;QAAE;MAExD,CAAC;IACL,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC;AAED,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,WAAiC,EAAK;EAC/D,IAAMC,cAAc,GAAGD,WAAW,CAACE,MAAM,CAAC,UAAAC,CAAC;IAAA,OAAIA,CAAC,CAACC,IAAI,KAAK,MAAM;EAAA,EAAC;EACjE,IAAIH,cAAc,CAACI,MAAM,KAAK,CAAC,EAAE;IAC7B,MAAM,IAAIC,KAAK,CAAC,yCAAyC,CAAC;EAC9D;AACJ,CAAC;AAED,IAAMC,cAAc,GAAG;EACnBC,MAAM,EAAEC,cAAS,CAACC,MAAM,CAAC,kBAAkB,EAAEC,OAAO,CAACC,GAAG,CAACC,0BAA0B,CAAC;EACpFC,UAAU,EAAEL,cAAS,CAACC,MAAM,CAAC,cAAc,EAAEC,OAAO,CAACC,GAAG,CAACG,sBAAsB,CAAC;EAChFC,mBAAmB,EAAEP,cAAS,CAACC,MAAM,CACjC,yBAAyB,EACzBC,OAAO,CAACC,GAAG,CAACK,iCAChB;AACJ,CAAC;AAoBM,IAAMC,oBAA2C,GAAAvC,OAAA,CAAAuC,oBAAA,GAAG,SAA9CA,oBAA2CA,CAAAC,KAAA,EAKlD;EAAA,IAAAC,qBAAA,GAAAD,KAAA,CAJFE,0BAA0B;IAA1BA,0BAA0B,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IACjCE,eAAe,GAAAH,KAAA,CAAfG,eAAe;IACfC,OAAO,GAAAJ,KAAA,CAAPI,OAAO;IACJC,MAAM,OAAAC,yBAAA,CAAA7B,OAAA,EAAAuB,KAAA,EAAA3C,SAAA;EAET;AACJ;AACA;EACI;EACAkD,MAAM,CAACC,IAAI,CAACH,MAAM,CAAC,CAACI,OAAO,CAAC,UAAAC,GAAG;IAAA,OAAIL,MAAM,CAACK,GAAG,CAAC,KAAKC,SAAS,IAAI,OAAON,MAAM,CAACK,GAAG,CAAC;EAAA,EAAC;EACnFvC,UAAI,CAACyC,SAAS,KAAApC,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MAAMW,cAAc,GAAKiB,MAAM,CAAE,CAAC;EAEhD,IAAMQ,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAA0B,EAAK;IACnD,IAAQC,QAAQ,GAAKD,KAAK,CAAlBC,QAAQ;IAChB,IAAAC,SAAA,GAA8C,IAAAC,eAAQ,EAAC,KAAK,CAAC;MAAAC,UAAA,OAAAC,eAAA,CAAA1C,OAAA,EAAAuC,SAAA;MAAtDI,eAAe,GAAAF,UAAA;MAAEG,kBAAkB,GAAAH,UAAA;IAC1C,IAAAI,YAAA,GAA4C,IAAAC,wBAAW,EAAC,CAAC;MAAjDC,WAAW,GAAAF,YAAA,CAAXE,WAAW;MAAEC,kBAAkB,GAAAH,YAAA,CAAlBG,kBAAkB;IACvC,IAAMC,MAAM,GAAG,IAAAC,2BAAe,EAAC,CAAC;IAEhC,IAAMC,OAAO,GAAG,IAAAC,kBAAW,EAAC,gBAAOC,KAAqB,EAAK;MACzD,IAAQC,OAAO,GAAaD,KAAK,CAAzBC,OAAO;QAAEC,MAAM,GAAKF,KAAK,CAAhBE,MAAM;MAEvBX,kBAAkB,CAAC,IAAI,CAAC;MAExB,IAAI;QACA,IAAAY,qBAAA,GAAwD,MAAM9B,eAAe,CAAC;YAC1EuB,MAAM,EAANA,MAAM;YACNK,OAAO,EAAPA;UACJ,CAAC,CAAC;UAHMG,EAAE,GAAAD,qBAAA,CAAFC,EAAE;UAAEC,WAAW,GAAAF,qBAAA,CAAXE,WAAW;UAAEC,IAAI,GAAAH,qBAAA,CAAJG,IAAI;UAAEvD,WAAW,GAAAoD,qBAAA,CAAXpD,WAAW;UAAKwD,IAAI,OAAA/B,yBAAA,CAAA7B,OAAA,EAAAwD,qBAAA,EAAA3E,UAAA;QAKnDkE,WAAW,KAAAhD,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA;UACPyD,EAAE,EAAFA,EAAE;UACFC,WAAW,EAAXA,WAAW;UACXC,IAAI,EAAJA,IAAI;UACJvD,WAAW,EAAXA;QAAW,GACRwD,IAAI;UACPL,MAAM,EACFA,MAAM,IACL,YAAM;YACH,OAAO,KAAK,CAAC;UACjB;QAAE,EACT,CAAC;QAEFpD,mBAAmB,CAACC,WAAW,CAAC;MACpC,CAAC,CAAC,OAAOyD,GAAG,EAAE;QACVC,OAAO,CAACC,GAAG,CAAC,OAAO,EAAEF,GAAG,CAAC;QACzB,IAAI,OAAOlC,OAAO,KAAK,UAAU,EAAE;UAC/BA,OAAO,CAACkC,GAAG,CAAC;QAChB,CAAC,MAAM;UACHC,OAAO,CAACE,KAAK,CAACH,GAAG,CAAC;QACtB;MACJ,CAAC,SAAS;QACNjB,kBAAkB,CAAC,KAAK,CAAC;MAC7B;IACJ,CAAC,EAAE,EAAE,CAAC;IAEN,IAAAqB,gBAAS,EAAC,YAAM;MACZ;AACZ;AACA;AACA;MACYjB,kBAAkB,CAAC,kBAAY;QAC3B,IAAMvD,IAAI,GAAG,MAAMC,UAAI,CAACC,cAAc,CAAC,CAAC;QACxC,IAAMC,OAAO,GAAGH,IAAI,CAACI,UAAU,CAAC,CAAC;QAEjC,OAAOD,OAAO,GAAGA,OAAO,CAACM,WAAW,CAAC,CAAC,GAAGgC,SAAS;MACtD,CAAC,CAAC;MAEFgC,gBAAO,CAACC,QAAQ,CAAChF,sBAAsB,CAAC,CAAC,CAAC;IAC9C,CAAC,EAAE,EAAE,CAAC;IAEN,oBACI1B,MAAA,CAAAuC,OAAA,CAAAoE,aAAA,CAACnG,cAAA,CAAAoG,aAAa;MAAClB,OAAO,EAAEA;IAAQ,GAC3BR,eAAe,gBACZlF,MAAA,CAAAuC,OAAA,CAAAoE,aAAA,CAAC3F,UAAA,CAAA6F,SAAS,MAAE,CAAC,gBAEb7G,MAAA,CAAAuC,OAAA,CAAAoE,aAAA,CAAChG,OAAA,CAAAc,MAAM;MACHqF,kBAAkB,EAAE3C,MAAM,CAAC2C,kBAAmB;MAC9C9C,0BAA0B,EAAEA;IAA2B,CAC1D,CACJ,eACDhE,MAAA,CAAAuC,OAAA,CAAAoE,aAAA,CAAC/F,mBAAA,CAAAmG,kBAAkB,MAAE,CAAC,eACtB/G,MAAA,CAAAuC,OAAA,CAAAoE,aAAA,CAAC9F,eAAA,CAAAmG,cAAc,MAAE,CAAC,eAClBhH,MAAA,CAAAuC,OAAA,CAAAoE,aAAA,CAAC7F,eAAA,CAAAmG,cAAc,MAAE,CAAC,eAClBjH,MAAA,CAAAuC,OAAA,CAAAoE,aAAA,CAAC5F,SAAA,CAAAmG,QAAQ,QAAErC,QAAmB,CACnB,CAAC;EAExB,CAAC;EAED,OAAOF,cAAc;AACzB,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-admin-cognito",
|
|
3
|
-
"version": "5.40.0
|
|
3
|
+
"version": "5.40.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -15,15 +15,15 @@
|
|
|
15
15
|
"@apollo/react-hooks": "3.1.5",
|
|
16
16
|
"@aws-amplify/auth": "5.1.9",
|
|
17
17
|
"@emotion/styled": "11.10.6",
|
|
18
|
-
"@webiny/app": "5.40.0
|
|
19
|
-
"@webiny/app-admin": "5.40.0
|
|
20
|
-
"@webiny/app-cognito-authenticator": "5.40.0
|
|
21
|
-
"@webiny/app-security": "5.40.0
|
|
22
|
-
"@webiny/form": "5.40.0
|
|
23
|
-
"@webiny/plugins": "5.40.0
|
|
24
|
-
"@webiny/react-composition": "5.40.0
|
|
25
|
-
"@webiny/ui": "5.40.0
|
|
26
|
-
"@webiny/validation": "5.40.0
|
|
18
|
+
"@webiny/app": "5.40.0",
|
|
19
|
+
"@webiny/app-admin": "5.40.0",
|
|
20
|
+
"@webiny/app-cognito-authenticator": "5.40.0",
|
|
21
|
+
"@webiny/app-security": "5.40.0",
|
|
22
|
+
"@webiny/form": "5.40.0",
|
|
23
|
+
"@webiny/plugins": "5.40.0",
|
|
24
|
+
"@webiny/react-composition": "5.40.0",
|
|
25
|
+
"@webiny/ui": "5.40.0",
|
|
26
|
+
"@webiny/validation": "5.40.0",
|
|
27
27
|
"apollo-client": "2.6.10",
|
|
28
28
|
"apollo-link-context": "1.0.20",
|
|
29
29
|
"emotion": "10.0.27",
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
"@babel/preset-env": "7.24.3",
|
|
39
39
|
"@babel/preset-react": "7.24.1",
|
|
40
40
|
"@babel/preset-typescript": "7.24.1",
|
|
41
|
-
"@webiny/cli": "5.40.0
|
|
42
|
-
"@webiny/project-utils": "5.40.0
|
|
41
|
+
"@webiny/cli": "5.40.0",
|
|
42
|
+
"@webiny/project-utils": "5.40.0",
|
|
43
43
|
"rimraf": "5.0.5",
|
|
44
44
|
"ttypescript": "1.5.15",
|
|
45
45
|
"typescript": "4.7.4"
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
]
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "e6ce53a387a9b1ab39aa8d15e4ed9be2359f17aa"
|
|
66
66
|
}
|
package/views/SignIn.d.ts
CHANGED
|
@@ -12,6 +12,9 @@ export interface SignInProps {
|
|
|
12
12
|
allowSignInWithCredentials?: boolean;
|
|
13
13
|
federatedProviders?: FederatedIdentityProvider[];
|
|
14
14
|
}
|
|
15
|
+
export interface SignInDefaultContentProps extends SignInProps {
|
|
16
|
+
error?: Error | null;
|
|
17
|
+
}
|
|
15
18
|
export declare const SignIn: import("@webiny/app-admin").GenericComponent<SignInProps> & {
|
|
16
19
|
original: import("@webiny/app-admin").GenericComponent<SignInProps>;
|
|
17
20
|
originalName: string;
|
package/views/SignIn.js
CHANGED
|
@@ -15,7 +15,7 @@ var _Grid = require("@webiny/ui/Grid");
|
|
|
15
15
|
var _Alert = require("@webiny/ui/Alert");
|
|
16
16
|
var _Progress = require("@webiny/ui/Progress");
|
|
17
17
|
var _useAuthenticator2 = require("@webiny/app-cognito-authenticator/hooks/useAuthenticator");
|
|
18
|
-
var
|
|
18
|
+
var _useSignIn2 = require("@webiny/app-cognito-authenticator/hooks/useSignIn");
|
|
19
19
|
var _View = require("../components/View");
|
|
20
20
|
var _FederatedLogin = require("./FederatedLogin");
|
|
21
21
|
var _Divider = require("../components/Divider");
|
|
@@ -23,8 +23,6 @@ var _StyledComponents = require("../components/StyledComponents");
|
|
|
23
23
|
var DefaultContent = function DefaultContent(props) {
|
|
24
24
|
var _useForm = (0, _form.useForm)(),
|
|
25
25
|
submit = _useForm.submit;
|
|
26
|
-
var _useSignIn = (0, _useSignIn3.useSignIn)(),
|
|
27
|
-
error = _useSignIn.error;
|
|
28
26
|
var _useAuthenticator = (0, _useAuthenticator2.useAuthenticator)(),
|
|
29
27
|
message = _useAuthenticator.message,
|
|
30
28
|
changeState = _useAuthenticator.changeState;
|
|
@@ -35,7 +33,9 @@ var DefaultContent = function DefaultContent(props) {
|
|
|
35
33
|
_props$federatedProvi = props.federatedProviders,
|
|
36
34
|
federatedProviders = _props$federatedProvi === void 0 ? [] : _props$federatedProvi,
|
|
37
35
|
_props$allowSignInWit = props.allowSignInWithCredentials,
|
|
38
|
-
allowSignInWithCredentials = _props$allowSignInWit === void 0 ? true : _props$allowSignInWit
|
|
36
|
+
allowSignInWithCredentials = _props$allowSignInWit === void 0 ? true : _props$allowSignInWit,
|
|
37
|
+
_props$error = props.error,
|
|
38
|
+
error = _props$error === void 0 ? null : _props$error;
|
|
39
39
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_View.View.Title, {
|
|
40
40
|
title: title,
|
|
41
41
|
description: description
|
|
@@ -89,10 +89,11 @@ var DefaultContent = function DefaultContent(props) {
|
|
|
89
89
|
})) : null);
|
|
90
90
|
};
|
|
91
91
|
var SignIn = exports.SignIn = (0, _appAdmin.makeDecoratable)("SignIn", function (props) {
|
|
92
|
-
var
|
|
93
|
-
signIn =
|
|
94
|
-
loading =
|
|
95
|
-
shouldRender =
|
|
92
|
+
var _useSignIn = (0, _useSignIn2.useSignIn)(),
|
|
93
|
+
signIn = _useSignIn.signIn,
|
|
94
|
+
loading = _useSignIn.loading,
|
|
95
|
+
shouldRender = _useSignIn.shouldRender,
|
|
96
|
+
error = _useSignIn.error;
|
|
96
97
|
var _props$content = props.content,
|
|
97
98
|
content = _props$content === void 0 ? undefined : _props$content,
|
|
98
99
|
_props$footer = props.footer,
|
|
@@ -108,7 +109,9 @@ var SignIn = exports.SignIn = (0, _appAdmin.makeDecoratable)("SignIn", function
|
|
|
108
109
|
}, function () {
|
|
109
110
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_View.View.Content, null, loading && /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, {
|
|
110
111
|
label: "Signing in..."
|
|
111
|
-
}), content ? content : /*#__PURE__*/_react.default.createElement(DefaultContent,
|
|
112
|
+
}), content ? content : /*#__PURE__*/_react.default.createElement(DefaultContent, Object.assign({}, props, {
|
|
113
|
+
error: error
|
|
114
|
+
}))), footer ? /*#__PURE__*/_react.default.createElement(_View.View.Footer, null, footer) : null);
|
|
112
115
|
}));
|
|
113
116
|
});
|
|
114
117
|
|
package/views/SignIn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_appAdmin","_form","_validation","_Button","_Input","_Grid","_Alert","_Progress","_useAuthenticator2","_useSignIn3","_View","_FederatedLogin","_Divider","_StyledComponents","DefaultContent","props","_useForm","useForm","submit","_useSignIn","useSignIn","error","_useAuthenticator","useAuthenticator","message","changeState","_props$title","title","_props$description","description","undefined","_props$federatedProvi","federatedProviders","_props$allowSignInWit","allowSignInWithCredentials","default","createElement","Fragment","View","Title","Grid","Cell","span","Alert","type","text","className","errorMessage","Bind","name","validators","validation","create","beforeChange","val","cb","toLowerCase","Input","label","alignRight","ButtonPrimary","onClick","ev","alignCenter","href","length","Divider","FederatedLogin","providers","SignIn","exports","makeDecoratable","_useSignIn2","signIn","loading","shouldRender","_props$content","content","_props$footer","footer","Container","Form","onSubmit","data","submitOnEnter","Content","CircularProgress","Footer"],"sources":["SignIn.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeDecoratable } from \"@webiny/app-admin\";\nimport { Form, Bind, useForm } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { useAuthenticator } from \"@webiny/app-cognito-authenticator/hooks/useAuthenticator\";\nimport {\n useSignIn,\n UseSignInCallableParams\n} from \"@webiny/app-cognito-authenticator/hooks/useSignIn\";\nimport { View } from \"~/components/View\";\nimport { FederatedLogin } from \"./FederatedLogin\";\nimport { Divider } from \"~/components/Divider\";\nimport { alignRight, alignCenter, errorMessage } from \"~/components/StyledComponents\";\nimport { FederatedIdentityProvider } from \"~/federatedIdentityProviders\";\n\nexport interface SignInProps {\n title?: string;\n description?: React.ReactNode;\n /**\n * This prop lets you override the entire content of the view.\n * You'll need to implement your own title, description, and content rendering.\n */\n content?: React.ReactNode;\n footer?: React.ReactNode;\n allowSignInWithCredentials?: boolean;\n federatedProviders?: FederatedIdentityProvider[];\n}\n\nconst DefaultContent = (props: SignInProps) => {\n const { submit } = useForm();\n const { error } = useSignIn();\n const { message, changeState } = useAuthenticator();\n const {\n title = \"Sign In\",\n description = undefined,\n federatedProviders = [],\n allowSignInWithCredentials = true\n } = props;\n\n return (\n <>\n <View.Title title={title} description={description} />\n {message && !error && (\n <Grid>\n <Cell span={12}>\n <Alert title={message.title} type={message.type}>\n {message.text}\n </Alert>\n </Cell>\n </Grid>\n )}\n\n {error && (\n <Grid>\n <Cell span={12} className={errorMessage}>\n <Alert title=\"Authentication error\" type={\"danger\"}>\n {error.message}\n </Alert>\n </Cell>\n </Grid>\n )}\n\n {allowSignInWithCredentials ? (\n <Grid>\n <Cell span={12}>\n <Bind\n name=\"username\"\n validators={validation.create(\"required,email\")}\n beforeChange={(val: string, cb: (value: string) => void) =>\n cb(val.toLowerCase())\n }\n >\n <Input label={\"Your e-mail\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name=\"password\" validators={validation.create(\"required\")}>\n <Input type={\"password\"} label={\"Your password\"} />\n </Bind>\n </Cell>\n <Cell span={12} className={alignRight}>\n <ButtonPrimary\n data-testid=\"submit-sign-in-form-button\"\n onClick={ev => {\n submit(ev);\n }}\n >\n {\"Submit\"}\n </ButtonPrimary>\n </Cell>\n <Cell span={12} className={alignCenter}>\n <a href=\"#\" onClick={() => changeState(\"forgotPassword\")}>\n Forgot password?\n </a>\n </Cell>\n </Grid>\n ) : null}\n {federatedProviders.length ? (\n <>\n {allowSignInWithCredentials ? <Divider /> : null}\n <FederatedLogin providers={federatedProviders} />\n </>\n ) : null}\n </>\n );\n};\n\nexport const SignIn = makeDecoratable(\"SignIn\", (props: SignInProps) => {\n const { signIn, loading, shouldRender } = useSignIn();\n const { content = undefined, footer = undefined } = props;\n\n if (!shouldRender) {\n return null;\n }\n\n return (\n <View.Container>\n <Form<UseSignInCallableParams> onSubmit={data => signIn(data)} submitOnEnter>\n {() => (\n <>\n <View.Content>\n {loading && <CircularProgress label={\"Signing in...\"} />}\n {content ? content : <DefaultContent {...props} />}\n </View.Content>\n {footer ? <View.Footer>{footer}</View.Footer> : null}\n </>\n )}\n </Form>\n </View.Container>\n );\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_appAdmin","_form","_validation","_Button","_Input","_Grid","_Alert","_Progress","_useAuthenticator2","_useSignIn2","_View","_FederatedLogin","_Divider","_StyledComponents","DefaultContent","props","_useForm","useForm","submit","_useAuthenticator","useAuthenticator","message","changeState","_props$title","title","_props$description","description","undefined","_props$federatedProvi","federatedProviders","_props$allowSignInWit","allowSignInWithCredentials","_props$error","error","default","createElement","Fragment","View","Title","Grid","Cell","span","Alert","type","text","className","errorMessage","Bind","name","validators","validation","create","beforeChange","val","cb","toLowerCase","Input","label","alignRight","ButtonPrimary","onClick","ev","alignCenter","href","length","Divider","FederatedLogin","providers","SignIn","exports","makeDecoratable","_useSignIn","useSignIn","signIn","loading","shouldRender","_props$content","content","_props$footer","footer","Container","Form","onSubmit","data","submitOnEnter","Content","CircularProgress","Object","assign","Footer"],"sources":["SignIn.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeDecoratable } from \"@webiny/app-admin\";\nimport { Form, Bind, useForm } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { useAuthenticator } from \"@webiny/app-cognito-authenticator/hooks/useAuthenticator\";\nimport {\n useSignIn,\n UseSignInCallableParams\n} from \"@webiny/app-cognito-authenticator/hooks/useSignIn\";\nimport { View } from \"~/components/View\";\nimport { FederatedLogin } from \"./FederatedLogin\";\nimport { Divider } from \"~/components/Divider\";\nimport { alignRight, alignCenter, errorMessage } from \"~/components/StyledComponents\";\nimport { FederatedIdentityProvider } from \"~/federatedIdentityProviders\";\n\nexport interface SignInProps {\n title?: string;\n description?: React.ReactNode;\n /**\n * This prop lets you override the entire content of the view.\n * You'll need to implement your own title, description, and content rendering.\n */\n content?: React.ReactNode;\n footer?: React.ReactNode;\n allowSignInWithCredentials?: boolean;\n federatedProviders?: FederatedIdentityProvider[];\n}\n\nexport interface SignInDefaultContentProps extends SignInProps {\n error?: Error | null;\n}\n\nconst DefaultContent = (props: SignInDefaultContentProps) => {\n const { submit } = useForm();\n const { message, changeState } = useAuthenticator();\n const {\n title = \"Sign In\",\n description = undefined,\n federatedProviders = [],\n allowSignInWithCredentials = true,\n error = null\n } = props;\n\n return (\n <>\n <View.Title title={title} description={description} />\n {message && !error && (\n <Grid>\n <Cell span={12}>\n <Alert title={message.title} type={message.type}>\n {message.text}\n </Alert>\n </Cell>\n </Grid>\n )}\n\n {error && (\n <Grid>\n <Cell span={12} className={errorMessage}>\n <Alert title=\"Authentication error\" type={\"danger\"}>\n {error.message}\n </Alert>\n </Cell>\n </Grid>\n )}\n\n {allowSignInWithCredentials ? (\n <Grid>\n <Cell span={12}>\n <Bind\n name=\"username\"\n validators={validation.create(\"required,email\")}\n beforeChange={(val: string, cb: (value: string) => void) =>\n cb(val.toLowerCase())\n }\n >\n <Input label={\"Your e-mail\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name=\"password\" validators={validation.create(\"required\")}>\n <Input type={\"password\"} label={\"Your password\"} />\n </Bind>\n </Cell>\n <Cell span={12} className={alignRight}>\n <ButtonPrimary\n data-testid=\"submit-sign-in-form-button\"\n onClick={ev => {\n submit(ev);\n }}\n >\n {\"Submit\"}\n </ButtonPrimary>\n </Cell>\n <Cell span={12} className={alignCenter}>\n <a href=\"#\" onClick={() => changeState(\"forgotPassword\")}>\n Forgot password?\n </a>\n </Cell>\n </Grid>\n ) : null}\n {federatedProviders.length ? (\n <>\n {allowSignInWithCredentials ? <Divider /> : null}\n <FederatedLogin providers={federatedProviders} />\n </>\n ) : null}\n </>\n );\n};\n\nexport const SignIn = makeDecoratable(\"SignIn\", (props: SignInProps) => {\n const { signIn, loading, shouldRender, error } = useSignIn();\n const { content = undefined, footer = undefined } = props;\n\n if (!shouldRender) {\n return null;\n }\n\n return (\n <View.Container>\n <Form<UseSignInCallableParams> onSubmit={data => signIn(data)} submitOnEnter>\n {() => (\n <>\n <View.Content>\n {loading && <CircularProgress label={\"Signing in...\"} />}\n {content ? content : <DefaultContent {...props} error={error} />}\n </View.Content>\n {footer ? <View.Footer>{footer}</View.Footer> : null}\n </>\n )}\n </Form>\n </View.Container>\n );\n});\n"],"mappings":"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","ignoreList":[]}
|