@webiny/cognito 0.0.0-unstable.3c5210ad37
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/Cognito.d.ts +8 -0
- package/Cognito.js +29 -0
- package/Cognito.js.map +1 -0
- package/LICENSE +21 -0
- package/README.md +11 -0
- package/admin/Cognito.d.ts +6 -0
- package/admin/Cognito.js +51 -0
- package/admin/Cognito.js.map +1 -0
- package/admin/CognitoLogin.d.ts +7 -0
- package/admin/CognitoLogin.js +18 -0
- package/admin/CognitoLogin.js.map +1 -0
- package/admin/Extension.d.ts +2 -0
- package/admin/Extension.js +20 -0
- package/admin/Extension.js.map +1 -0
- package/admin/SecurityPermission.d.ts +2 -0
- package/admin/SecurityPermission.js +26 -0
- package/admin/SecurityPermission.js.map +1 -0
- package/admin/federatedIdentityProviders.d.ts +9 -0
- package/admin/federatedIdentityProviders.js +9 -0
- package/admin/federatedIdentityProviders.js.map +1 -0
- package/admin/plugins/constants.d.ts +3 -0
- package/admin/plugins/constants.js +6 -0
- package/admin/plugins/constants.js.map +1 -0
- package/admin/plugins/userMenu/AccountDetails.d.ts +6 -0
- package/admin/plugins/userMenu/AccountDetails.js +23 -0
- package/admin/plugins/userMenu/AccountDetails.js.map +1 -0
- package/admin/plugins/userMenu/useIsDefaultTenant.d.ts +1 -0
- package/admin/plugins/userMenu/useIsDefaultTenant.js +15 -0
- package/admin/plugins/userMenu/useIsDefaultTenant.js.map +1 -0
- package/admin/presentation/Cognito/CognitoLoginScreen.d.ts +10 -0
- package/admin/presentation/Cognito/CognitoLoginScreen.js +54 -0
- package/admin/presentation/Cognito/CognitoLoginScreen.js.map +1 -0
- package/admin/presentation/Cognito/CognitoPresenter.d.ts +58 -0
- package/admin/presentation/Cognito/CognitoPresenter.js +277 -0
- package/admin/presentation/Cognito/CognitoPresenter.js.map +1 -0
- package/admin/presentation/Cognito/abstractions.d.ts +72 -0
- package/admin/presentation/Cognito/abstractions.js +4 -0
- package/admin/presentation/Cognito/abstractions.js.map +1 -0
- package/admin/presentation/Cognito/components/Divider.d.ts +2 -0
- package/admin/presentation/Cognito/components/Divider.js +16 -0
- package/admin/presentation/Cognito/components/Divider.js.map +1 -0
- package/admin/presentation/Cognito/components/FederatedLogin.d.ts +7 -0
- package/admin/presentation/Cognito/components/FederatedLogin.js +32 -0
- package/admin/presentation/Cognito/components/FederatedLogin.js.map +1 -0
- package/admin/presentation/Cognito/components/FederatedProviders.d.ts +44 -0
- package/admin/presentation/Cognito/components/FederatedProviders.js +14 -0
- package/admin/presentation/Cognito/components/FederatedProviders.js.map +1 -0
- package/admin/presentation/Cognito/components/FooterSignIn.d.ts +6 -0
- package/admin/presentation/Cognito/components/FooterSignIn.js +15 -0
- package/admin/presentation/Cognito/components/FooterSignIn.js.map +1 -0
- package/admin/presentation/Cognito/components/PasswordResetCodeSent.d.ts +9 -0
- package/admin/presentation/Cognito/components/PasswordResetCodeSent.js +43 -0
- package/admin/presentation/Cognito/components/PasswordResetCodeSent.js.map +1 -0
- package/admin/presentation/Cognito/components/RequestPasswordResetCode.d.ts +8 -0
- package/admin/presentation/Cognito/components/RequestPasswordResetCode.js +45 -0
- package/admin/presentation/Cognito/components/RequestPasswordResetCode.js.map +1 -0
- package/admin/presentation/Cognito/components/RequireNewPassword.d.ts +8 -0
- package/admin/presentation/Cognito/components/RequireNewPassword.js +55 -0
- package/admin/presentation/Cognito/components/RequireNewPassword.js.map +1 -0
- package/admin/presentation/Cognito/components/SetNewPassword.d.ts +8 -0
- package/admin/presentation/Cognito/components/SetNewPassword.js +79 -0
- package/admin/presentation/Cognito/components/SetNewPassword.js.map +1 -0
- package/admin/presentation/Cognito/components/SignIn.d.ts +10 -0
- package/admin/presentation/Cognito/components/SignIn.js +64 -0
- package/admin/presentation/Cognito/components/SignIn.js.map +1 -0
- package/admin/presentation/Cognito/components/View.d.ts +98 -0
- package/admin/presentation/Cognito/components/View.js +67 -0
- package/admin/presentation/Cognito/components/View.js.map +1 -0
- package/admin/presentation/Cognito/feature.d.ts +3 -0
- package/admin/presentation/Cognito/feature.js +16 -0
- package/admin/presentation/Cognito/feature.js.map +1 -0
- package/admin/presentation/shared/createPasswordValidator.d.ts +8 -0
- package/admin/presentation/shared/createPasswordValidator.js +27 -0
- package/admin/presentation/shared/createPasswordValidator.js.map +1 -0
- package/admin/presentation/shared/usePasswordValidator.d.ts +1 -0
- package/admin/presentation/shared/usePasswordValidator.js +15 -0
- package/admin/presentation/shared/usePasswordValidator.js.map +1 -0
- package/admin/routes.d.ts +10 -0
- package/admin/routes.js +21 -0
- package/admin/routes.js.map +1 -0
- package/admin/ui/UserItem.d.ts +10 -0
- package/admin/ui/UserItem.js +3 -0
- package/admin/ui/UserItem.js.map +1 -0
- package/admin/ui/components/AvatarImage/AvatarImage.d.ts +3 -0
- package/admin/ui/components/AvatarImage/AvatarImage.js +43 -0
- package/admin/ui/components/AvatarImage/AvatarImage.js.map +1 -0
- package/admin/ui/components/AvatarImage/AvatarImagePreview.d.ts +10 -0
- package/admin/ui/components/AvatarImage/AvatarImagePreview.js +55 -0
- package/admin/ui/components/AvatarImage/AvatarImagePreview.js.map +1 -0
- package/admin/ui/components/AvatarImage/AvatarImageTrigger.d.ts +7 -0
- package/admin/ui/components/AvatarImage/AvatarImageTrigger.js +29 -0
- package/admin/ui/components/AvatarImage/AvatarImageTrigger.js.map +1 -0
- package/admin/ui/components/AvatarImage/index.d.ts +1 -0
- package/admin/ui/components/AvatarImage/index.js +3 -0
- package/admin/ui/components/AvatarImage/index.js.map +1 -0
- package/admin/ui/views/Account/Account.d.ts +2 -0
- package/admin/ui/views/Account/Account.js +142 -0
- package/admin/ui/views/Account/Account.js.map +1 -0
- package/admin/ui/views/Account/graphql.d.ts +2 -0
- package/admin/ui/views/Account/graphql.js +40 -0
- package/admin/ui/views/Account/graphql.js.map +1 -0
- package/admin/ui/views/Account/index.d.ts +1 -0
- package/admin/ui/views/Account/index.js +3 -0
- package/admin/ui/views/Account/index.js.map +1 -0
- package/admin/ui/views/Users/UsersDataList.d.ts +3 -0
- package/admin/ui/views/Users/UsersDataList.js +172 -0
- package/admin/ui/views/Users/UsersDataList.js.map +1 -0
- package/admin/ui/views/Users/UsersForm.d.ts +5 -0
- package/admin/ui/views/Users/UsersForm.js +174 -0
- package/admin/ui/views/Users/UsersForm.js.map +1 -0
- package/admin/ui/views/Users/UsersView.d.ts +2 -0
- package/admin/ui/views/Users/UsersView.js +14 -0
- package/admin/ui/views/Users/UsersView.js.map +1 -0
- package/admin/ui/views/Users/components/DeleteAction.d.ts +7 -0
- package/admin/ui/views/Users/components/DeleteAction.js +36 -0
- package/admin/ui/views/Users/components/DeleteAction.js.map +1 -0
- package/admin/ui/views/Users/graphql.d.ts +5 -0
- package/admin/ui/views/Users/graphql.js +99 -0
- package/admin/ui/views/Users/graphql.js.map +1 -0
- package/admin/ui/views/Users/hooks/useUserForm.d.ts +27 -0
- package/admin/ui/views/Users/hooks/useUserForm.js +127 -0
- package/admin/ui/views/Users/hooks/useUserForm.js.map +1 -0
- package/admin/ui/views/Users/search.svg +20 -0
- package/admin/ui/views/utils.d.ts +3 -0
- package/admin/ui/views/utils.js +10 -0
- package/admin/ui/views/utils.js.map +1 -0
- package/api/CognitoApiFeature.d.ts +1 -0
- package/api/CognitoApiFeature.js +28 -0
- package/api/CognitoApiFeature.js.map +1 -0
- package/api/domain/Username.d.ts +4 -0
- package/api/domain/Username.js +7 -0
- package/api/domain/Username.js.map +1 -0
- package/api/domain/errors.d.ts +37 -0
- package/api/domain/errors.js +63 -0
- package/api/domain/errors.js.map +1 -0
- package/api/features/CognitoIdp/CognitoIdentityProvider.d.ts +15 -0
- package/api/features/CognitoIdp/CognitoIdentityProvider.js +61 -0
- package/api/features/CognitoIdp/CognitoIdentityProvider.js.map +1 -0
- package/api/features/CognitoIdp/abstractions.d.ts +15 -0
- package/api/features/CognitoIdp/abstractions.js +4 -0
- package/api/features/CognitoIdp/abstractions.js.map +1 -0
- package/api/features/CognitoIdp/feature.d.ts +1 -0
- package/api/features/CognitoIdp/feature.js +10 -0
- package/api/features/CognitoIdp/feature.js.map +1 -0
- package/api/features/CognitoIdp/index.d.ts +2 -0
- package/api/features/CognitoIdp/index.js +4 -0
- package/api/features/CognitoIdp/index.js.map +1 -0
- package/api/features/CognitoService/CognitoService.d.ts +20 -0
- package/api/features/CognitoService/CognitoService.js +90 -0
- package/api/features/CognitoService/CognitoService.js.map +1 -0
- package/api/features/CognitoService/abstractions.d.ts +54 -0
- package/api/features/CognitoService/abstractions.js +8 -0
- package/api/features/CognitoService/abstractions.js.map +1 -0
- package/api/features/CognitoService/feature.d.ts +5 -0
- package/api/features/CognitoService/feature.js +12 -0
- package/api/features/CognitoService/feature.js.map +1 -0
- package/api/features/CognitoService/index.d.ts +1 -0
- package/api/features/CognitoService/index.js +3 -0
- package/api/features/CognitoService/index.js.map +1 -0
- package/api/features/CreateUser/CreateUserUseCase.d.ts +22 -0
- package/api/features/CreateUser/CreateUserUseCase.js +106 -0
- package/api/features/CreateUser/CreateUserUseCase.js.map +1 -0
- package/api/features/CreateUser/abstractions.d.ts +35 -0
- package/api/features/CreateUser/abstractions.js +4 -0
- package/api/features/CreateUser/abstractions.js.map +1 -0
- package/api/features/CreateUser/feature.d.ts +1 -0
- package/api/features/CreateUser/feature.js +10 -0
- package/api/features/CreateUser/feature.js.map +1 -0
- package/api/features/CreateUser/index.d.ts +2 -0
- package/api/features/CreateUser/index.js +4 -0
- package/api/features/CreateUser/index.js.map +1 -0
- package/api/features/CreateUser/schema.d.ts +47 -0
- package/api/features/CreateUser/schema.js +17 -0
- package/api/features/CreateUser/schema.js.map +1 -0
- package/api/features/DeleteUser/DeleteUserUseCase.d.ts +16 -0
- package/api/features/DeleteUser/DeleteUserUseCase.js +54 -0
- package/api/features/DeleteUser/DeleteUserUseCase.js.map +1 -0
- package/api/features/DeleteUser/abstractions.d.ts +19 -0
- package/api/features/DeleteUser/abstractions.js +4 -0
- package/api/features/DeleteUser/abstractions.js.map +1 -0
- package/api/features/DeleteUser/feature.d.ts +1 -0
- package/api/features/DeleteUser/feature.js +10 -0
- package/api/features/DeleteUser/feature.js.map +1 -0
- package/api/features/DeleteUser/index.d.ts +2 -0
- package/api/features/DeleteUser/index.js +4 -0
- package/api/features/DeleteUser/index.js.map +1 -0
- package/api/features/UpdateUser/UpdateUserUseCase.d.ts +21 -0
- package/api/features/UpdateUser/UpdateUserUseCase.js +88 -0
- package/api/features/UpdateUser/UpdateUserUseCase.js.map +1 -0
- package/api/features/UpdateUser/abstractions.d.ts +33 -0
- package/api/features/UpdateUser/abstractions.js +4 -0
- package/api/features/UpdateUser/abstractions.js.map +1 -0
- package/api/features/UpdateUser/feature.d.ts +1 -0
- package/api/features/UpdateUser/feature.js +10 -0
- package/api/features/UpdateUser/feature.js.map +1 -0
- package/api/features/UpdateUser/index.d.ts +2 -0
- package/api/features/UpdateUser/index.js +4 -0
- package/api/features/UpdateUser/index.js.map +1 -0
- package/api/features/UpdateUser/schema.d.ts +44 -0
- package/api/features/UpdateUser/schema.js +16 -0
- package/api/features/UpdateUser/schema.js.map +1 -0
- package/api/features/UserInstaller/UserInstaller.d.ts +27 -0
- package/api/features/UserInstaller/UserInstaller.js +48 -0
- package/api/features/UserInstaller/UserInstaller.js.map +1 -0
- package/api/features/UserInstaller/feature.d.ts +1 -0
- package/api/features/UserInstaller/feature.js +10 -0
- package/api/features/UserInstaller/feature.js.map +1 -0
- package/api/graphql/user.gql.d.ts +8 -0
- package/api/graphql/user.gql.js +167 -0
- package/api/graphql/user.gql.js.map +1 -0
- package/index.d.ts +2 -0
- package/index.js +4 -0
- package/index.js.map +1 -0
- package/package.json +48 -0
package/Cognito.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const Cognito: import("@webiny/project/defineExtension/defineExtension").ExtensionComponent<z.ZodObject<{
|
|
3
|
+
apiConfig: z.ZodOptional<z.ZodString>;
|
|
4
|
+
}, "strip", z.ZodTypeAny, {
|
|
5
|
+
apiConfig?: string | undefined;
|
|
6
|
+
}, {
|
|
7
|
+
apiConfig?: string | undefined;
|
|
8
|
+
}>>;
|
package/Cognito.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { defineExtension } from "@webiny/project/defineExtension/index.js";
|
|
3
|
+
import { Api, Admin, Infra } from "@webiny/project-aws";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
export const Cognito = defineExtension({
|
|
6
|
+
type: "Project/Cognito",
|
|
7
|
+
tags: {
|
|
8
|
+
runtimeContext: "project"
|
|
9
|
+
},
|
|
10
|
+
description: "Enable and configure Cognito authentication.",
|
|
11
|
+
paramsSchema: z.object({
|
|
12
|
+
apiConfig: z.string().describe("Path to API configuration.").optional()
|
|
13
|
+
}),
|
|
14
|
+
render: props => {
|
|
15
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Infra.EnvVar, {
|
|
16
|
+
varName: "REACT_APP_IDP_TYPE",
|
|
17
|
+
value: "cognito"
|
|
18
|
+
}), /*#__PURE__*/React.createElement(Api.Extension, {
|
|
19
|
+
src: import.meta.dirname + "/api/CognitoApiFeature.js",
|
|
20
|
+
exportName: "CognitoApiFeature"
|
|
21
|
+
}), props.apiConfig ? /*#__PURE__*/React.createElement(Api.Extension, {
|
|
22
|
+
src: props.apiConfig
|
|
23
|
+
}) : null, /*#__PURE__*/React.createElement(Admin.Extension, {
|
|
24
|
+
src: import.meta.dirname + "/admin/Extension.js"
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=Cognito.js.map
|
package/Cognito.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","defineExtension","Api","Admin","Infra","z","Cognito","type","tags","runtimeContext","description","paramsSchema","object","apiConfig","string","describe","optional","render","props","createElement","Fragment","EnvVar","varName","value","Extension","src","import","meta","dirname","exportName"],"sources":["Cognito.tsx"],"sourcesContent":["import React from \"react\";\nimport { defineExtension } from \"@webiny/project/defineExtension/index.js\";\nimport { Api, Admin, Infra } from \"@webiny/project-aws\";\nimport { z } from \"zod\";\n\nexport const Cognito = defineExtension({\n type: \"Project/Cognito\",\n tags: { runtimeContext: \"project\" },\n description: \"Enable and configure Cognito authentication.\",\n paramsSchema: z.object({\n apiConfig: z.string().describe(\"Path to API configuration.\").optional()\n }),\n render: props => {\n return (\n <>\n <Infra.EnvVar varName={\"REACT_APP_IDP_TYPE\"} value={\"cognito\"} />\n {/* Api extensions */}\n <Api.Extension\n src={import.meta.dirname + \"/api/CognitoApiFeature.js\"}\n exportName={\"CognitoApiFeature\"}\n />\n {props.apiConfig ? <Api.Extension src={props.apiConfig} /> : null}\n {/* Admin extensions */}\n <Admin.Extension src={import.meta.dirname + \"/admin/Extension.js\"} />\n </>\n );\n }\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,eAAe,QAAQ,0CAA0C;AAC1E,SAASC,GAAG,EAAEC,KAAK,EAAEC,KAAK,QAAQ,qBAAqB;AACvD,SAASC,CAAC,QAAQ,KAAK;AAEvB,OAAO,MAAMC,OAAO,GAAGL,eAAe,CAAC;EACnCM,IAAI,EAAE,iBAAiB;EACvBC,IAAI,EAAE;IAAEC,cAAc,EAAE;EAAU,CAAC;EACnCC,WAAW,EAAE,8CAA8C;EAC3DC,YAAY,EAAEN,CAAC,CAACO,MAAM,CAAC;IACnBC,SAAS,EAAER,CAAC,CAACS,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,4BAA4B,CAAC,CAACC,QAAQ,CAAC;EAC1E,CAAC,CAAC;EACFC,MAAM,EAAEC,KAAK,IAAI;IACb,oBACIlB,KAAA,CAAAmB,aAAA,CAAAnB,KAAA,CAAAoB,QAAA,qBACIpB,KAAA,CAAAmB,aAAA,CAACf,KAAK,CAACiB,MAAM;MAACC,OAAO,EAAE,oBAAqB;MAACC,KAAK,EAAE;IAAU,CAAE,CAAC,eAEjEvB,KAAA,CAAAmB,aAAA,CAACjB,GAAG,CAACsB,SAAS;MACVC,GAAG,EAAEC,MAAM,CAACC,IAAI,CAACC,OAAO,GAAG,2BAA4B;MACvDC,UAAU,EAAE;IAAoB,CACnC,CAAC,EACDX,KAAK,CAACL,SAAS,gBAAGb,KAAA,CAAAmB,aAAA,CAACjB,GAAG,CAACsB,SAAS;MAACC,GAAG,EAAEP,KAAK,CAACL;IAAU,CAAE,CAAC,GAAG,IAAI,eAEjEb,KAAA,CAAAmB,aAAA,CAAChB,KAAK,CAACqB,SAAS;MAACC,GAAG,EAAEC,MAAM,CAACC,IAAI,CAACC,OAAO,GAAG;IAAsB,CAAE,CACtE,CAAC;EAEX;AACJ,CAAC,CAAC","ignoreList":[]}
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) Webiny
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# @webiny/cognito
|
|
2
|
+
|
|
3
|
+
> [!NOTE]
|
|
4
|
+
> This package is part of the [Webiny](https://www.webiny.com) monorepo.
|
|
5
|
+
> It’s **included in every Webiny project by default** and is not meant to be used as a standalone package.
|
|
6
|
+
|
|
7
|
+
📘 **Documentation:** [https://www.webiny.com/docs](https://www.webiny.com/docs)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
_This README file is automatically generated during the publish process._
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { type CognitoLoginProps } from "./CognitoLogin.js";
|
|
3
|
+
export interface CognitoAdminProps {
|
|
4
|
+
login: CognitoLoginProps;
|
|
5
|
+
}
|
|
6
|
+
export declare const CognitoAdmin: React.MemoExoticComponent<(props: CognitoAdminProps) => React.JSX.Element>;
|
package/admin/Cognito.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React, { Fragment, memo } from "react";
|
|
2
|
+
import { AdminConfig, AdminLayout } from "@webiny/app-admin";
|
|
3
|
+
import { HasPermission } from "@webiny/app-admin";
|
|
4
|
+
import { useRouter } from "@webiny/app-admin";
|
|
5
|
+
import { Permission } from "./plugins/constants.js";
|
|
6
|
+
import { UsersView } from "./ui/views/Users/UsersView.js";
|
|
7
|
+
import { UserAccountForm } from "./ui/views/Account/index.js";
|
|
8
|
+
import { AccountDetails } from "./plugins/userMenu/AccountDetails.js";
|
|
9
|
+
import { SecurityPermission } from "./SecurityPermission.js";
|
|
10
|
+
import { CognitoLogin } from "./CognitoLogin.js";
|
|
11
|
+
import { Routes } from "./routes.js";
|
|
12
|
+
const {
|
|
13
|
+
Route,
|
|
14
|
+
Menu
|
|
15
|
+
} = AdminConfig;
|
|
16
|
+
const CognitoIdP = props => {
|
|
17
|
+
const {
|
|
18
|
+
getLink
|
|
19
|
+
} = useRouter();
|
|
20
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(SecurityPermission, null), /*#__PURE__*/React.createElement(CognitoLogin, props.login), /*#__PURE__*/React.createElement(AdminConfig, null, /*#__PURE__*/React.createElement(HasPermission, {
|
|
21
|
+
name: Permission.Users
|
|
22
|
+
}, /*#__PURE__*/React.createElement(Route, {
|
|
23
|
+
route: Routes.Users.List,
|
|
24
|
+
element: /*#__PURE__*/React.createElement(AdminLayout, {
|
|
25
|
+
title: "Admin Users"
|
|
26
|
+
}, /*#__PURE__*/React.createElement(UsersView, null))
|
|
27
|
+
}), /*#__PURE__*/React.createElement(Route, {
|
|
28
|
+
route: Routes.Users.Account,
|
|
29
|
+
element: /*#__PURE__*/React.createElement(AdminLayout, {
|
|
30
|
+
title: "User Account"
|
|
31
|
+
}, /*#__PURE__*/React.createElement(UserAccountForm, null))
|
|
32
|
+
}), /*#__PURE__*/React.createElement(Menu, {
|
|
33
|
+
name: "cognito.settings.adminUsers",
|
|
34
|
+
parent: "settings",
|
|
35
|
+
after: "security.settings",
|
|
36
|
+
element: /*#__PURE__*/React.createElement(Menu.Link, {
|
|
37
|
+
text: "Users",
|
|
38
|
+
to: getLink(Routes.Users.List),
|
|
39
|
+
pinnable: true
|
|
40
|
+
})
|
|
41
|
+
})), /*#__PURE__*/React.createElement(Menu.User, {
|
|
42
|
+
name: "accountSettings",
|
|
43
|
+
after: "userInfo",
|
|
44
|
+
element: /*#__PURE__*/React.createElement(AccountDetails, {
|
|
45
|
+
accountRoute: getLink(Routes.Users.Account)
|
|
46
|
+
})
|
|
47
|
+
})));
|
|
48
|
+
};
|
|
49
|
+
export const CognitoAdmin = /*#__PURE__*/memo(CognitoIdP);
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=Cognito.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Fragment","memo","AdminConfig","AdminLayout","HasPermission","useRouter","Permission","UsersView","UserAccountForm","AccountDetails","SecurityPermission","CognitoLogin","Routes","Route","Menu","CognitoIdP","props","getLink","createElement","login","name","Users","route","List","element","title","Account","parent","after","Link","text","to","pinnable","User","accountRoute","CognitoAdmin"],"sources":["Cognito.tsx"],"sourcesContent":["import React, { Fragment, memo } from \"react\";\nimport { AdminConfig, AdminLayout } from \"@webiny/app-admin\";\nimport { HasPermission } from \"@webiny/app-admin\";\nimport { useRouter } from \"@webiny/app-admin\";\nimport { Permission } from \"./plugins/constants.js\";\nimport { UsersView } from \"./ui/views/Users/UsersView.js\";\nimport { UserAccountForm } from \"./ui/views/Account/index.js\";\nimport { AccountDetails } from \"./plugins/userMenu/AccountDetails.js\";\nimport { SecurityPermission } from \"./SecurityPermission.js\";\nimport { CognitoLogin, type CognitoLoginProps } from \"./CognitoLogin.js\";\nimport { Routes } from \"./routes.js\";\n\nconst { Route, Menu } = AdminConfig;\n\nexport interface CognitoAdminProps {\n login: CognitoLoginProps;\n}\n\nconst CognitoIdP = (props: CognitoAdminProps) => {\n const { getLink } = useRouter();\n\n return (\n <Fragment>\n <SecurityPermission />\n <CognitoLogin {...props.login} />\n <AdminConfig>\n <HasPermission name={Permission.Users}>\n <Route\n route={Routes.Users.List}\n element={\n <AdminLayout title={\"Admin Users\"}>\n <UsersView />\n </AdminLayout>\n }\n />\n\n <Route\n route={Routes.Users.Account}\n element={\n <AdminLayout title={\"User Account\"}>\n <UserAccountForm />\n </AdminLayout>\n }\n />\n\n <Menu\n name={\"cognito.settings.adminUsers\"}\n parent={\"settings\"}\n after={\"security.settings\"}\n element={\n <Menu.Link\n text={\"Users\"}\n to={getLink(Routes.Users.List)}\n pinnable={true}\n />\n }\n />\n </HasPermission>\n\n <Menu.User\n name={\"accountSettings\"}\n after={\"userInfo\"}\n element={<AccountDetails accountRoute={getLink(Routes.Users.Account)} />}\n />\n </AdminConfig>\n </Fragment>\n );\n};\n\nexport const CognitoAdmin = memo(CognitoIdP);\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,IAAI,QAAQ,OAAO;AAC7C,SAASC,WAAW,EAAEC,WAAW,QAAQ,mBAAmB;AAC5D,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,UAAU;AACnB,SAASC,SAAS;AAClB,SAASC,eAAe;AACxB,SAASC,cAAc;AACvB,SAASC,kBAAkB;AAC3B,SAASC,YAAY;AACrB,SAASC,MAAM;AAEf,MAAM;EAAEC,KAAK;EAAEC;AAAK,CAAC,GAAGZ,WAAW;AAMnC,MAAMa,UAAU,GAAIC,KAAwB,IAAK;EAC7C,MAAM;IAAEC;EAAQ,CAAC,GAAGZ,SAAS,CAAC,CAAC;EAE/B,oBACIN,KAAA,CAAAmB,aAAA,CAAClB,QAAQ,qBACLD,KAAA,CAAAmB,aAAA,CAACR,kBAAkB,MAAE,CAAC,eACtBX,KAAA,CAAAmB,aAAA,CAACP,YAAY,EAAKK,KAAK,CAACG,KAAQ,CAAC,eACjCpB,KAAA,CAAAmB,aAAA,CAAChB,WAAW,qBACRH,KAAA,CAAAmB,aAAA,CAACd,aAAa;IAACgB,IAAI,EAAEd,UAAU,CAACe;EAAM,gBAClCtB,KAAA,CAAAmB,aAAA,CAACL,KAAK;IACFS,KAAK,EAAEV,MAAM,CAACS,KAAK,CAACE,IAAK;IACzBC,OAAO,eACHzB,KAAA,CAAAmB,aAAA,CAACf,WAAW;MAACsB,KAAK,EAAE;IAAc,gBAC9B1B,KAAA,CAAAmB,aAAA,CAACX,SAAS,MAAE,CACH;EAChB,CACJ,CAAC,eAEFR,KAAA,CAAAmB,aAAA,CAACL,KAAK;IACFS,KAAK,EAAEV,MAAM,CAACS,KAAK,CAACK,OAAQ;IAC5BF,OAAO,eACHzB,KAAA,CAAAmB,aAAA,CAACf,WAAW;MAACsB,KAAK,EAAE;IAAe,gBAC/B1B,KAAA,CAAAmB,aAAA,CAACV,eAAe,MAAE,CACT;EAChB,CACJ,CAAC,eAEFT,KAAA,CAAAmB,aAAA,CAACJ,IAAI;IACDM,IAAI,EAAE,6BAA8B;IACpCO,MAAM,EAAE,UAAW;IACnBC,KAAK,EAAE,mBAAoB;IAC3BJ,OAAO,eACHzB,KAAA,CAAAmB,aAAA,CAACJ,IAAI,CAACe,IAAI;MACNC,IAAI,EAAE,OAAQ;MACdC,EAAE,EAAEd,OAAO,CAACL,MAAM,CAACS,KAAK,CAACE,IAAI,CAAE;MAC/BS,QAAQ,EAAE;IAAK,CAClB;EACJ,CACJ,CACU,CAAC,eAEhBjC,KAAA,CAAAmB,aAAA,CAACJ,IAAI,CAACmB,IAAI;IACNb,IAAI,EAAE,iBAAkB;IACxBQ,KAAK,EAAE,UAAW;IAClBJ,OAAO,eAAEzB,KAAA,CAAAmB,aAAA,CAACT,cAAc;MAACyB,YAAY,EAAEjB,OAAO,CAACL,MAAM,CAACS,KAAK,CAACK,OAAO;IAAE,CAAE;EAAE,CAC5E,CACQ,CACP,CAAC;AAEnB,CAAC;AAED,OAAO,MAAMS,YAAY,gBAAGlC,IAAI,CAACc,UAAU,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React, { Fragment } from "react";
|
|
2
|
+
import { LoginScreenRenderer } from "@webiny/app-admin";
|
|
3
|
+
import { CognitoLoginScreen } from "./presentation/Cognito/CognitoLoginScreen.js";
|
|
4
|
+
const createLoginScreenPlugin = params => {
|
|
5
|
+
return LoginScreenRenderer.createDecorator(() => {
|
|
6
|
+
return function CognitoLogin({
|
|
7
|
+
children
|
|
8
|
+
}) {
|
|
9
|
+
return /*#__PURE__*/React.createElement(CognitoLoginScreen, params, children);
|
|
10
|
+
};
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
export const CognitoLogin = props => {
|
|
14
|
+
const LoginScreenPlugin = createLoginScreenPlugin(props);
|
|
15
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(LoginScreenPlugin, null));
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=CognitoLogin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Fragment","LoginScreenRenderer","CognitoLoginScreen","createLoginScreenPlugin","params","createDecorator","CognitoLogin","children","createElement","props","LoginScreenPlugin"],"sources":["CognitoLogin.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport { LoginScreenRenderer } from \"@webiny/app-admin\";\nimport {\n CognitoLoginScreen,\n type CognitoLoginScreenProps\n} from \"./presentation/Cognito/CognitoLoginScreen.js\";\n\nconst createLoginScreenPlugin = (params: Omit<CognitoLoginScreenProps, \"children\">) => {\n return LoginScreenRenderer.createDecorator(() => {\n return function CognitoLogin({ children }) {\n return <CognitoLoginScreen {...params}>{children}</CognitoLoginScreen>;\n };\n });\n};\n\nexport interface CognitoLoginProps {\n region: string;\n userPoolId: string;\n clientId: string;\n}\n\nexport const CognitoLogin = (props: CognitoLoginProps) => {\n const LoginScreenPlugin = createLoginScreenPlugin(props);\n return (\n <Fragment>\n <LoginScreenPlugin />\n </Fragment>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,mBAAmB,QAAQ,mBAAmB;AACvD,SACIC,kBAAkB;AAItB,MAAMC,uBAAuB,GAAIC,MAAiD,IAAK;EACnF,OAAOH,mBAAmB,CAACI,eAAe,CAAC,MAAM;IAC7C,OAAO,SAASC,YAAYA,CAAC;MAAEC;IAAS,CAAC,EAAE;MACvC,oBAAOR,KAAA,CAAAS,aAAA,CAACN,kBAAkB,EAAKE,MAAM,EAAGG,QAA6B,CAAC;IAC1E,CAAC;EACL,CAAC,CAAC;AACN,CAAC;AAQD,OAAO,MAAMD,YAAY,GAAIG,KAAwB,IAAK;EACtD,MAAMC,iBAAiB,GAAGP,uBAAuB,CAACM,KAAK,CAAC;EACxD,oBACIV,KAAA,CAAAS,aAAA,CAACR,QAAQ,qBACLD,KAAA,CAAAS,aAAA,CAACE,iBAAiB,MAAE,CACd,CAAC;AAEnB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { RegisterFeature } from "@webiny/app-admin";
|
|
3
|
+
import { CognitoFeature } from "./presentation/Cognito/feature.js";
|
|
4
|
+
import { CognitoAdmin } from "./Cognito.js";
|
|
5
|
+
export const Extension = () => {
|
|
6
|
+
const region = process.env.REACT_APP_USER_POOL_REGION || "";
|
|
7
|
+
const userPoolId = process.env.REACT_APP_USER_POOL_ID || "";
|
|
8
|
+
const clientId = process.env.REACT_APP_USER_POOL_WEB_CLIENT_ID || "";
|
|
9
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(RegisterFeature, {
|
|
10
|
+
feature: CognitoFeature
|
|
11
|
+
}), /*#__PURE__*/React.createElement(CognitoAdmin, {
|
|
12
|
+
login: {
|
|
13
|
+
region,
|
|
14
|
+
userPoolId,
|
|
15
|
+
clientId
|
|
16
|
+
}
|
|
17
|
+
}));
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=Extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","RegisterFeature","CognitoFeature","CognitoAdmin","Extension","region","process","env","REACT_APP_USER_POOL_REGION","userPoolId","REACT_APP_USER_POOL_ID","clientId","REACT_APP_USER_POOL_WEB_CLIENT_ID","createElement","Fragment","feature","login"],"sources":["Extension.tsx"],"sourcesContent":["import React from \"react\";\nimport { RegisterFeature } from \"@webiny/app-admin\";\nimport { CognitoFeature } from \"./presentation/Cognito/feature.js\";\nimport { CognitoAdmin } from \"./Cognito.js\";\n\nexport const Extension = () => {\n const region = process.env.REACT_APP_USER_POOL_REGION || \"\";\n const userPoolId = process.env.REACT_APP_USER_POOL_ID || \"\";\n const clientId = process.env.REACT_APP_USER_POOL_WEB_CLIENT_ID || \"\";\n\n return (\n <>\n <RegisterFeature feature={CognitoFeature} />\n <CognitoAdmin\n login={{\n region,\n userPoolId,\n clientId\n }}\n />\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,cAAc;AACvB,SAASC,YAAY;AAErB,OAAO,MAAMC,SAAS,GAAGA,CAAA,KAAM;EAC3B,MAAMC,MAAM,GAAGC,OAAO,CAACC,GAAG,CAACC,0BAA0B,IAAI,EAAE;EAC3D,MAAMC,UAAU,GAAGH,OAAO,CAACC,GAAG,CAACG,sBAAsB,IAAI,EAAE;EAC3D,MAAMC,QAAQ,GAAGL,OAAO,CAACC,GAAG,CAACK,iCAAiC,IAAI,EAAE;EAEpE,oBACIZ,KAAA,CAAAa,aAAA,CAAAb,KAAA,CAAAc,QAAA,qBACId,KAAA,CAAAa,aAAA,CAACZ,eAAe;IAACc,OAAO,EAAEb;EAAe,CAAE,CAAC,eAC5CF,KAAA,CAAAa,aAAA,CAACV,YAAY;IACTa,KAAK,EAAE;MACHX,MAAM;MACNI,UAAU;MACVE;IACJ;EAAE,CACL,CACH,CAAC;AAEX,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AdminConfig } from "@webiny/app-admin";
|
|
3
|
+
import { ReactComponent as PermissionsIcon } from "@webiny/icons/group.svg";
|
|
4
|
+
const {
|
|
5
|
+
Security
|
|
6
|
+
} = AdminConfig;
|
|
7
|
+
export const SecurityPermission = () => {
|
|
8
|
+
return /*#__PURE__*/React.createElement(AdminConfig, null, /*#__PURE__*/React.createElement(Security.Permissions, {
|
|
9
|
+
name: "admin-users",
|
|
10
|
+
title: "Admin Users",
|
|
11
|
+
description: "Manage Admin Users permissions.",
|
|
12
|
+
icon: /*#__PURE__*/React.createElement(PermissionsIcon, null),
|
|
13
|
+
schema: {
|
|
14
|
+
prefix: "adminUsers",
|
|
15
|
+
fullAccess: true,
|
|
16
|
+
entities: [{
|
|
17
|
+
id: "user",
|
|
18
|
+
title: "Users",
|
|
19
|
+
permission: "adminUsers.user",
|
|
20
|
+
scopes: ["full"]
|
|
21
|
+
}]
|
|
22
|
+
}
|
|
23
|
+
}));
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=SecurityPermission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","AdminConfig","ReactComponent","PermissionsIcon","Security","SecurityPermission","createElement","Permissions","name","title","description","icon","schema","prefix","fullAccess","entities","id","permission","scopes"],"sources":["SecurityPermission.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig } from \"@webiny/app-admin\";\nimport { ReactComponent as PermissionsIcon } from \"@webiny/icons/group.svg\";\n\nconst { Security } = AdminConfig;\n\nexport const SecurityPermission = () => {\n return (\n <AdminConfig>\n <Security.Permissions\n name=\"admin-users\"\n title=\"Admin Users\"\n description=\"Manage Admin Users permissions.\"\n icon={<PermissionsIcon />}\n schema={{\n prefix: \"adminUsers\",\n fullAccess: true,\n entities: [\n {\n id: \"user\",\n title: \"Users\",\n permission: \"adminUsers.user\",\n scopes: [\"full\"]\n }\n ]\n }}\n />\n </AdminConfig>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,cAAc,IAAIC,eAAe,QAAQ,yBAAyB;AAE3E,MAAM;EAAEC;AAAS,CAAC,GAAGH,WAAW;AAEhC,OAAO,MAAMI,kBAAkB,GAAGA,CAAA,KAAM;EACpC,oBACIL,KAAA,CAAAM,aAAA,CAACL,WAAW,qBACRD,KAAA,CAAAM,aAAA,CAACF,QAAQ,CAACG,WAAW;IACjBC,IAAI,EAAC,aAAa;IAClBC,KAAK,EAAC,aAAa;IACnBC,WAAW,EAAC,iCAAiC;IAC7CC,IAAI,eAAEX,KAAA,CAAAM,aAAA,CAACH,eAAe,MAAE,CAAE;IAC1BS,MAAM,EAAE;MACJC,MAAM,EAAE,YAAY;MACpBC,UAAU,EAAE,IAAI;MAChBC,QAAQ,EAAE,CACN;QACIC,EAAE,EAAE,MAAM;QACVP,KAAK,EAAE,OAAO;QACdQ,UAAU,EAAE,iBAAiB;QAC7BC,MAAM,EAAE,CAAC,MAAM;MACnB,CAAC;IAET;EAAE,CACL,CACQ,CAAC;AAEtB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
export declare const federatedIdentityProviders: Record<string, string>;
|
|
3
|
+
export interface SignInProps {
|
|
4
|
+
signIn: () => void;
|
|
5
|
+
}
|
|
6
|
+
export type FederatedIdentityProvider = {
|
|
7
|
+
name: string;
|
|
8
|
+
component: React.FunctionComponent<SignInProps>;
|
|
9
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["federatedIdentityProviders","cognito","google","facebook","amazon","apple"],"sources":["federatedIdentityProviders.ts"],"sourcesContent":["import type React from \"react\";\n\nexport const federatedIdentityProviders: Record<string, string> = {\n cognito: \"COGNITO\",\n google: \"Google\",\n facebook: \"Facebook\",\n amazon: \"LoginWithAmazon\",\n apple: \"SignInWithApple\"\n};\n\nexport interface SignInProps {\n signIn: () => void;\n}\n\nexport type FederatedIdentityProvider = {\n name: string;\n component: React.FunctionComponent<SignInProps>;\n};\n"],"mappings":"AAEA,OAAO,MAAMA,0BAAkD,GAAG;EAC9DC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE,iBAAiB;EACzBC,KAAK,EAAE;AACX,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Permission"],"sources":["constants.ts"],"sourcesContent":["export enum Permission {\n Users = \"adminUsers.user\"\n}\n"],"mappings":"AAAA,WAAYA,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ReactComponent as AccountIcon } from "@webiny/icons/account_circle.svg";
|
|
3
|
+
import { AdminConfig } from "@webiny/app-admin";
|
|
4
|
+
import { useIsDefaultTenant } from "./useIsDefaultTenant.js";
|
|
5
|
+
const {
|
|
6
|
+
Menu
|
|
7
|
+
} = AdminConfig;
|
|
8
|
+
export const AccountDetails = props => {
|
|
9
|
+
const isDefaultTenant = useIsDefaultTenant();
|
|
10
|
+
if (!isDefaultTenant) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return /*#__PURE__*/React.createElement(Menu.User.Link, {
|
|
14
|
+
icon: /*#__PURE__*/React.createElement(Menu.User.Item.Icon, {
|
|
15
|
+
element: /*#__PURE__*/React.createElement(AccountIcon, null),
|
|
16
|
+
label: "Account settings"
|
|
17
|
+
}),
|
|
18
|
+
text: "Account settings",
|
|
19
|
+
to: props.accountRoute
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=AccountDetails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","ReactComponent","AccountIcon","AdminConfig","useIsDefaultTenant","Menu","AccountDetails","props","isDefaultTenant","createElement","User","Link","icon","Item","Icon","element","label","text","to","accountRoute"],"sources":["AccountDetails.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as AccountIcon } from \"@webiny/icons/account_circle.svg\";\nimport { AdminConfig } from \"@webiny/app-admin\";\nimport { useIsDefaultTenant } from \"./useIsDefaultTenant.js\";\n\nconst { Menu } = AdminConfig;\n\ninterface AccountDetailsProps {\n accountRoute: string;\n}\n\nexport const AccountDetails = (props: AccountDetailsProps) => {\n const isDefaultTenant = useIsDefaultTenant();\n\n if (!isDefaultTenant) {\n return null;\n }\n return (\n <Menu.User.Link\n icon={<Menu.User.Item.Icon element={<AccountIcon />} label={\"Account settings\"} />}\n text={\"Account settings\"}\n to={props.accountRoute}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,IAAIC,WAAW,QAAQ,kCAAkC;AAChF,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,kBAAkB;AAE3B,MAAM;EAAEC;AAAK,CAAC,GAAGF,WAAW;AAM5B,OAAO,MAAMG,cAAc,GAAIC,KAA0B,IAAK;EAC1D,MAAMC,eAAe,GAAGJ,kBAAkB,CAAC,CAAC;EAE5C,IAAI,CAACI,eAAe,EAAE;IAClB,OAAO,IAAI;EACf;EACA,oBACIR,KAAA,CAAAS,aAAA,CAACJ,IAAI,CAACK,IAAI,CAACC,IAAI;IACXC,IAAI,eAAEZ,KAAA,CAAAS,aAAA,CAACJ,IAAI,CAACK,IAAI,CAACG,IAAI,CAACC,IAAI;MAACC,OAAO,eAAEf,KAAA,CAAAS,aAAA,CAACP,WAAW,MAAE,CAAE;MAACc,KAAK,EAAE;IAAmB,CAAE,CAAE;IACnFC,IAAI,EAAE,kBAAmB;IACzBC,EAAE,EAAEX,KAAK,CAACY;EAAa,CAC1B,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useIsDefaultTenant(): boolean;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useIdentity } from "@webiny/app-admin";
|
|
2
|
+
export function useIsDefaultTenant() {
|
|
3
|
+
const {
|
|
4
|
+
identity
|
|
5
|
+
} = useIdentity();
|
|
6
|
+
|
|
7
|
+
// This is only applicable in multi-tenant environments
|
|
8
|
+
const {
|
|
9
|
+
currentTenant,
|
|
10
|
+
defaultTenant
|
|
11
|
+
} = identity;
|
|
12
|
+
return currentTenant.id === defaultTenant.id;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=useIsDefaultTenant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useIdentity","useIsDefaultTenant","identity","currentTenant","defaultTenant","id"],"sources":["useIsDefaultTenant.ts"],"sourcesContent":["import { useIdentity } from \"@webiny/app-admin\";\n\nexport function useIsDefaultTenant(): boolean {\n const { identity } = useIdentity();\n\n // This is only applicable in multi-tenant environments\n const { currentTenant, defaultTenant } = identity;\n\n return currentTenant.id === defaultTenant.id;\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,mBAAmB;AAE/C,OAAO,SAASC,kBAAkBA,CAAA,EAAY;EAC1C,MAAM;IAAEC;EAAS,CAAC,GAAGF,WAAW,CAAC,CAAC;;EAElC;EACA,MAAM;IAAEG,aAAa;IAAEC;EAAc,CAAC,GAAGF,QAAQ;EAEjD,OAAOC,aAAa,CAACE,EAAE,KAAKD,aAAa,CAACC,EAAE;AAChD","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface CognitoLoginScreenProps {
|
|
3
|
+
region: string;
|
|
4
|
+
userPoolId: string;
|
|
5
|
+
clientId: string;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export declare const CognitoLoginScreen: ((props: CognitoLoginScreenProps) => React.JSX.Element) & {
|
|
9
|
+
displayName: string;
|
|
10
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import React, { useEffect } from "react";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { useFeature } from "@webiny/app";
|
|
4
|
+
import { OverlayLoader } from "@webiny/admin-ui";
|
|
5
|
+
import { CognitoFeature } from "./feature.js";
|
|
6
|
+
import { SignIn } from "./components/SignIn.js";
|
|
7
|
+
import { RequireNewPassword } from "./components/RequireNewPassword.js";
|
|
8
|
+
import { RequestPasswordResetCode } from "./components/RequestPasswordResetCode.js";
|
|
9
|
+
import { SetNewPassword } from "./components/SetNewPassword.js";
|
|
10
|
+
import { PasswordResetCodeSent } from "./components/PasswordResetCodeSent.js";
|
|
11
|
+
export const CognitoLoginScreen = observer(props => {
|
|
12
|
+
const {
|
|
13
|
+
presenter
|
|
14
|
+
} = useFeature(CognitoFeature);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
presenter.init({
|
|
17
|
+
region: props.region,
|
|
18
|
+
userPoolId: props.userPoolId,
|
|
19
|
+
clientId: props.clientId
|
|
20
|
+
});
|
|
21
|
+
}, []);
|
|
22
|
+
const vm = presenter.vm;
|
|
23
|
+
if (vm.isAuthenticated) {
|
|
24
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, props.children);
|
|
25
|
+
}
|
|
26
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, vm.isLoggingIn ? /*#__PURE__*/React.createElement(OverlayLoader, {
|
|
27
|
+
text: "Signing in..."
|
|
28
|
+
}) : null, vm.checkingSession ? /*#__PURE__*/React.createElement(OverlayLoader, {
|
|
29
|
+
text: "Checking session..."
|
|
30
|
+
}) : null, !vm.isLoggingIn && !vm.checkingSession ? /*#__PURE__*/React.createElement(React.Fragment, null, vm.authState === "requireNewPassword" && /*#__PURE__*/React.createElement(RequireNewPassword, {
|
|
31
|
+
vm: vm.requireNewPassword,
|
|
32
|
+
onSubmit: (password, attributes) => presenter.confirmNewPassword(password, attributes),
|
|
33
|
+
onCancel: () => presenter.showSignIn()
|
|
34
|
+
}), vm.authState === "requestPasswordResetCode" && /*#__PURE__*/React.createElement(RequestPasswordResetCode, {
|
|
35
|
+
vm: vm.requestPasswordResetCode,
|
|
36
|
+
onRequestCode: username => presenter.requestPasswordReset(username),
|
|
37
|
+
onCancel: () => presenter.showSignIn()
|
|
38
|
+
}), vm.authState === "passwordResetCodeSent" && /*#__PURE__*/React.createElement(PasswordResetCodeSent, {
|
|
39
|
+
vm: vm.passwordResetCodeSent,
|
|
40
|
+
onResendCode: () => presenter.resendPasswordResetCode(),
|
|
41
|
+
onCodeAcquired: () => presenter.showSetNewPassword(),
|
|
42
|
+
onCancel: () => presenter.showSignIn()
|
|
43
|
+
}), vm.authState === "setNewPassword" && /*#__PURE__*/React.createElement(SetNewPassword, {
|
|
44
|
+
vm: vm.setNewPassword,
|
|
45
|
+
onSetNewPassword: (code, password) => presenter.confirmPasswordReset(code, password),
|
|
46
|
+
onCancel: () => presenter.showSignIn()
|
|
47
|
+
}), (vm.authState === "signIn" || vm.authState === "signedOut") && /*#__PURE__*/React.createElement(SignIn, {
|
|
48
|
+
vm: vm.signIn,
|
|
49
|
+
onSubmit: (username, password) => presenter.signIn(username, password),
|
|
50
|
+
onForgotPassword: () => presenter.showRequestPasswordResetCode()
|
|
51
|
+
})) : null);
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=CognitoLoginScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","observer","useFeature","OverlayLoader","CognitoFeature","SignIn","RequireNewPassword","RequestPasswordResetCode","SetNewPassword","PasswordResetCodeSent","CognitoLoginScreen","props","presenter","init","region","userPoolId","clientId","vm","isAuthenticated","createElement","Fragment","children","isLoggingIn","text","checkingSession","authState","requireNewPassword","onSubmit","password","attributes","confirmNewPassword","onCancel","showSignIn","requestPasswordResetCode","onRequestCode","username","requestPasswordReset","passwordResetCodeSent","onResendCode","resendPasswordResetCode","onCodeAcquired","showSetNewPassword","setNewPassword","onSetNewPassword","code","confirmPasswordReset","signIn","onForgotPassword","showRequestPasswordResetCode"],"sources":["CognitoLoginScreen.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useFeature } from \"@webiny/app\";\nimport { OverlayLoader } from \"@webiny/admin-ui\";\nimport { CognitoFeature } from \"./feature.js\";\nimport { SignIn } from \"./components/SignIn.js\";\nimport { RequireNewPassword } from \"./components/RequireNewPassword.js\";\nimport { RequestPasswordResetCode } from \"./components/RequestPasswordResetCode.js\";\nimport { SetNewPassword } from \"./components/SetNewPassword.js\";\nimport { PasswordResetCodeSent } from \"~/admin/presentation/Cognito/components/PasswordResetCodeSent.js\";\n\nexport interface CognitoLoginScreenProps {\n region: string;\n userPoolId: string;\n clientId: string;\n children: React.ReactNode;\n}\n\nexport const CognitoLoginScreen = observer((props: CognitoLoginScreenProps) => {\n const { presenter } = useFeature(CognitoFeature);\n\n useEffect(() => {\n presenter.init({\n region: props.region,\n userPoolId: props.userPoolId,\n clientId: props.clientId\n });\n }, []);\n\n const vm = presenter.vm;\n\n if (vm.isAuthenticated) {\n return <>{props.children}</>;\n }\n\n return (\n <>\n {vm.isLoggingIn ? <OverlayLoader text={\"Signing in...\"} /> : null}\n {vm.checkingSession ? <OverlayLoader text={\"Checking session...\"} /> : null}\n\n {!vm.isLoggingIn && !vm.checkingSession ? (\n <>\n {vm.authState === \"requireNewPassword\" && (\n <RequireNewPassword\n vm={vm.requireNewPassword}\n onSubmit={(password, attributes) =>\n presenter.confirmNewPassword(password, attributes)\n }\n onCancel={() => presenter.showSignIn()}\n />\n )}\n\n {vm.authState === \"requestPasswordResetCode\" && (\n <RequestPasswordResetCode\n vm={vm.requestPasswordResetCode}\n onRequestCode={username => presenter.requestPasswordReset(username)}\n onCancel={() => presenter.showSignIn()}\n />\n )}\n\n {vm.authState === \"passwordResetCodeSent\" && (\n <PasswordResetCodeSent\n vm={vm.passwordResetCodeSent}\n onResendCode={() => presenter.resendPasswordResetCode()}\n onCodeAcquired={() => presenter.showSetNewPassword()}\n onCancel={() => presenter.showSignIn()}\n />\n )}\n\n {vm.authState === \"setNewPassword\" && (\n <SetNewPassword\n vm={vm.setNewPassword}\n onSetNewPassword={(code, password) =>\n presenter.confirmPasswordReset(code, password)\n }\n onCancel={() => presenter.showSignIn()}\n />\n )}\n\n {(vm.authState === \"signIn\" || vm.authState === \"signedOut\") && (\n <SignIn\n vm={vm.signIn}\n onSubmit={(username, password) => presenter.signIn(username, password)}\n onForgotPassword={() => presenter.showRequestPasswordResetCode()}\n />\n )}\n </>\n ) : null}\n </>\n );\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { CognitoPresenter as CognitoPresenterAbstraction, AuthState, AuthMessage, ICognitoInitParams } from "./abstractions.js";
|
|
2
|
+
import { LogInUseCase } from "@webiny/app-admin/features/security/LogIn/index.js";
|
|
3
|
+
import { IdentityContext } from "@webiny/app-admin/features/security/IdentityContext/index.js";
|
|
4
|
+
declare class CognitoPresenterImpl implements CognitoPresenterAbstraction.Interface {
|
|
5
|
+
private identity;
|
|
6
|
+
private logInUseCase;
|
|
7
|
+
private authState;
|
|
8
|
+
private authData;
|
|
9
|
+
private message;
|
|
10
|
+
private checkingSession;
|
|
11
|
+
private isLoggingIn;
|
|
12
|
+
private formLoading;
|
|
13
|
+
private cognitoUser;
|
|
14
|
+
private initialized;
|
|
15
|
+
constructor(identity: IdentityContext.Interface, logInUseCase: LogInUseCase.Interface);
|
|
16
|
+
get vm(): {
|
|
17
|
+
authState: AuthState;
|
|
18
|
+
checkingSession: boolean;
|
|
19
|
+
isLoggingIn: boolean;
|
|
20
|
+
isAuthenticated: boolean;
|
|
21
|
+
signIn: {
|
|
22
|
+
isLoading: boolean;
|
|
23
|
+
message: AuthMessage | null;
|
|
24
|
+
};
|
|
25
|
+
requestPasswordResetCode: {
|
|
26
|
+
isLoading: boolean;
|
|
27
|
+
message: AuthMessage | null;
|
|
28
|
+
};
|
|
29
|
+
passwordResetCodeSent: {
|
|
30
|
+
isLoading: boolean;
|
|
31
|
+
message: AuthMessage | null;
|
|
32
|
+
};
|
|
33
|
+
setNewPassword: {
|
|
34
|
+
isLoading: boolean;
|
|
35
|
+
message: AuthMessage | null;
|
|
36
|
+
};
|
|
37
|
+
requireNewPassword: {
|
|
38
|
+
isLoading: boolean;
|
|
39
|
+
requiredAttributes: string[];
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
init(params: ICognitoInitParams): Promise<void>;
|
|
43
|
+
signIn(username: string, password: string): Promise<void>;
|
|
44
|
+
confirmNewPassword(password: string, requiredAttributes: any): Promise<void>;
|
|
45
|
+
requestPasswordReset(username: string): Promise<void>;
|
|
46
|
+
resendPasswordResetCode(): Promise<void>;
|
|
47
|
+
confirmPasswordReset(code: string, password: string): Promise<void>;
|
|
48
|
+
showSignIn(): void;
|
|
49
|
+
showRequestPasswordResetCode(): void;
|
|
50
|
+
showSetNewPassword(): void;
|
|
51
|
+
private handleSignedIn;
|
|
52
|
+
private checkUrl;
|
|
53
|
+
private checkSession;
|
|
54
|
+
}
|
|
55
|
+
export declare const CognitoPresenter: typeof CognitoPresenterImpl & {
|
|
56
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICognitoPresenter>;
|
|
57
|
+
};
|
|
58
|
+
export {};
|