@webiny/app-security 5.40.0-beta.4 → 5.40.0-beta.6

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.
@@ -1,15 +1,17 @@
1
1
  import React, { Dispatch, SetStateAction } from "react";
2
- import { SecurityIdentity, SecurityPermission } from "../types";
2
+ import { IdTokenProvider, SecurityIdentity, SecurityPermission } from "../types";
3
3
  export interface SecurityContext {
4
4
  identity: SecurityIdentity | null;
5
5
  getIdentityId: () => string | null;
6
6
  setIdentity: Dispatch<SetStateAction<SecurityIdentity | null>>;
7
7
  getPermission<T extends SecurityPermission = SecurityPermission>(name: string, exact?: boolean): T | null;
8
8
  getPermissions<T extends SecurityPermission = SecurityPermission>(name: string): T[];
9
+ setIdTokenProvider: (provider: IdTokenProvider) => void;
10
+ getIdToken: IdTokenProvider;
9
11
  }
10
12
  interface SecurityProviderProps {
11
13
  children: React.ReactNode;
12
14
  }
13
- export declare const SecurityContext: React.Context<SecurityContext>;
15
+ export declare const SecurityContext: React.Context<SecurityContext | undefined>;
14
16
  export declare const SecurityProvider: (props: SecurityProviderProps) => React.JSX.Element;
15
17
  export {};
@@ -10,26 +10,21 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
  var _minimatch = _interopRequireDefault(require("minimatch"));
12
12
  var _react = _interopRequireWildcard(require("react"));
13
- var SecurityContext = exports.SecurityContext = /*#__PURE__*/_react.default.createContext({
14
- identity: null,
15
- getIdentityId: function getIdentityId() {
16
- return null;
17
- },
18
- setIdentity: function setIdentity() {
19
- return void 0;
20
- },
21
- getPermission: function getPermission() {
22
- return null;
23
- },
24
- getPermissions: function getPermissions() {
25
- return [];
26
- }
27
- });
13
+ var defaultIdTokenProvider = function defaultIdTokenProvider() {
14
+ return undefined;
15
+ };
16
+ var SecurityContext = exports.SecurityContext = /*#__PURE__*/_react.default.createContext(undefined);
28
17
  var SecurityProvider = exports.SecurityProvider = function SecurityProvider(props) {
29
18
  var _useState = (0, _react.useState)(null),
30
19
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
31
20
  identity = _useState2[0],
32
21
  setIdentity = _useState2[1];
22
+ var _useState3 = (0, _react.useState)(function () {
23
+ return defaultIdTokenProvider;
24
+ }),
25
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
26
+ idTokenProvider = _useState4[0],
27
+ _setIdTokenProvider = _useState4[1];
33
28
  var getPermission = (0, _react.useCallback)(function (name, exact) {
34
29
  if (!identity) {
35
30
  return null;
@@ -79,9 +74,15 @@ var SecurityProvider = exports.SecurityProvider = function SecurityProvider(prop
79
74
  getIdentityId: getIdentityId,
80
75
  setIdentity: setIdentity,
81
76
  getPermission: getPermission,
82
- getPermissions: getPermissions
77
+ getPermissions: getPermissions,
78
+ getIdToken: idTokenProvider,
79
+ setIdTokenProvider: function setIdTokenProvider(provider) {
80
+ _setIdTokenProvider(function () {
81
+ return provider;
82
+ });
83
+ }
83
84
  };
84
- }, [identity]);
85
+ }, [idTokenProvider, identity]);
85
86
  return /*#__PURE__*/_react.default.createElement(SecurityContext.Provider, {
86
87
  value: value
87
88
  }, props.children);
@@ -1 +1 @@
1
- {"version":3,"names":["_minimatch","_interopRequireDefault","require","_react","_interopRequireWildcard","SecurityContext","exports","React","createContext","identity","getIdentityId","setIdentity","getPermission","getPermissions","SecurityProvider","props","_useState","useState","_useState2","_slicedToArray2","default","useCallback","name","exact","perms","permissions","exactMatch","find","p","minimatch","filter","current","id","login","value","useMemo","_objectSpread2","createElement","Provider","children"],"sources":["Security.tsx"],"sourcesContent":["import minimatch from \"minimatch\";\nimport React, { Dispatch, SetStateAction, useCallback, useMemo, useState } from \"react\";\nimport { SecurityIdentity, SecurityPermission } from \"~/types\";\n\nexport interface SecurityContext {\n identity: SecurityIdentity | null;\n getIdentityId: () => string | null;\n\n setIdentity: Dispatch<SetStateAction<SecurityIdentity | null>>;\n\n getPermission<T extends SecurityPermission = SecurityPermission>(\n name: string,\n exact?: boolean\n ): T | null;\n\n getPermissions<T extends SecurityPermission = SecurityPermission>(name: string): T[];\n}\n\ninterface SecurityProviderProps {\n children: React.ReactNode;\n}\n\nexport const SecurityContext = React.createContext<SecurityContext>({\n identity: null,\n getIdentityId: () => null,\n setIdentity: () => {\n return void 0;\n },\n getPermission: () => {\n return null;\n },\n getPermissions: () => {\n return [];\n }\n});\n\nexport const SecurityProvider = (props: SecurityProviderProps) => {\n const [identity, setIdentity] = useState<SecurityIdentity | null>(null);\n\n const getPermission = useCallback(\n <T extends SecurityPermission = SecurityPermission>(\n name: string,\n exact?: boolean\n ): T | null => {\n if (!identity) {\n return null;\n }\n\n const perms = (identity.permissions || []) as T[];\n const exactMatch = perms.find(p => p.name === name);\n if (exactMatch) {\n return exactMatch as T;\n } else if (exact) {\n return null;\n }\n\n // Try matching using patterns\n return perms.find(p => minimatch(name, p.name)) || null;\n },\n [identity]\n );\n\n const getPermissions = useCallback(\n <T extends SecurityPermission = SecurityPermission>(name: string): Array<T> => {\n if (!identity) {\n return [];\n }\n\n const permissions = identity.permissions || [];\n\n return permissions.filter(current => {\n const exactMatch = current.name === name;\n if (exactMatch) {\n return true;\n }\n\n // Try matching using patterns.\n return minimatch(name, current.name);\n }) as T[];\n },\n [identity]\n );\n\n const getIdentityId = useCallback(() => {\n if (!identity) {\n return null;\n }\n return identity.id || identity.login || null;\n }, [identity]);\n\n const value = useMemo(() => {\n return {\n identity: identity\n ? {\n ...identity,\n // For backwards compatibility, expose the `getPermission` method on the `identity` object.\n getPermission\n }\n : null,\n getIdentityId,\n setIdentity,\n getPermission,\n getPermissions\n };\n }, [identity]);\n\n return <SecurityContext.Provider value={value}>{props.children}</SecurityContext.Provider>;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_minimatch","_interopRequireDefault","require","_react","_interopRequireWildcard","defaultIdTokenProvider","undefined","SecurityContext","exports","React","createContext","SecurityProvider","props","_useState","useState","_useState2","_slicedToArray2","default","identity","setIdentity","_useState3","_useState4","idTokenProvider","setIdTokenProvider","getPermission","useCallback","name","exact","perms","permissions","exactMatch","find","p","minimatch","getPermissions","filter","current","getIdentityId","id","login","value","useMemo","_objectSpread2","getIdToken","provider","createElement","Provider","children"],"sources":["Security.tsx"],"sourcesContent":["import minimatch from \"minimatch\";\nimport React, { Dispatch, SetStateAction, useCallback, useMemo, useState } from \"react\";\nimport { IdTokenProvider, SecurityIdentity, SecurityPermission } from \"~/types\";\n\nexport interface SecurityContext {\n identity: SecurityIdentity | null;\n getIdentityId: () => string | null;\n setIdentity: Dispatch<SetStateAction<SecurityIdentity | null>>;\n getPermission<T extends SecurityPermission = SecurityPermission>(\n name: string,\n exact?: boolean\n ): T | null;\n getPermissions<T extends SecurityPermission = SecurityPermission>(name: string): T[];\n setIdTokenProvider: (provider: IdTokenProvider) => void;\n getIdToken: IdTokenProvider;\n}\n\ninterface SecurityProviderProps {\n children: React.ReactNode;\n}\n\nconst defaultIdTokenProvider: IdTokenProvider = () => undefined;\n\nexport const SecurityContext = React.createContext<SecurityContext | undefined>(undefined);\n\nexport const SecurityProvider = (props: SecurityProviderProps) => {\n const [identity, setIdentity] = useState<SecurityIdentity | null>(null);\n const [idTokenProvider, setIdTokenProvider] = useState<IdTokenProvider>(\n () => defaultIdTokenProvider\n );\n\n const getPermission = useCallback(\n <T extends SecurityPermission = SecurityPermission>(\n name: string,\n exact?: boolean\n ): T | null => {\n if (!identity) {\n return null;\n }\n\n const perms = (identity.permissions || []) as T[];\n const exactMatch = perms.find(p => p.name === name);\n if (exactMatch) {\n return exactMatch as T;\n } else if (exact) {\n return null;\n }\n\n // Try matching using patterns\n return perms.find(p => minimatch(name, p.name)) || null;\n },\n [identity]\n );\n\n const getPermissions = useCallback(\n <T extends SecurityPermission = SecurityPermission>(name: string): Array<T> => {\n if (!identity) {\n return [];\n }\n\n const permissions = identity.permissions || [];\n\n return permissions.filter(current => {\n const exactMatch = current.name === name;\n if (exactMatch) {\n return true;\n }\n\n // Try matching using patterns.\n return minimatch(name, current.name);\n }) as T[];\n },\n [identity]\n );\n\n const getIdentityId = useCallback(() => {\n if (!identity) {\n return null;\n }\n return identity.id || identity.login || null;\n }, [identity]);\n\n const value: SecurityContext = useMemo(() => {\n return {\n identity: identity\n ? {\n ...identity,\n // For backwards compatibility, expose the `getPermission` method on the `identity` object.\n getPermission\n }\n : null,\n getIdentityId,\n setIdentity,\n getPermission,\n getPermissions,\n getIdToken: idTokenProvider,\n setIdTokenProvider: provider => {\n setIdTokenProvider(() => provider);\n }\n };\n }, [idTokenProvider, identity]);\n\n return <SecurityContext.Provider value={value}>{props.children}</SecurityContext.Provider>;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,11 @@ exports.useSecurity = useSecurity;
7
7
  var _react = require("react");
8
8
  var _Security = require("../contexts/Security");
9
9
  function useSecurity() {
10
- return (0, _react.useContext)(_Security.SecurityContext);
10
+ var context = (0, _react.useContext)(_Security.SecurityContext);
11
+ if (!context) {
12
+ throw Error("Missing <SecurityProvider> in the component hierarchy!");
13
+ }
14
+ return context;
11
15
  }
12
16
 
13
17
  //# sourceMappingURL=useSecurity.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_Security","useSecurity","useContext","SecurityContext"],"sources":["useSecurity.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport { SecurityContext } from \"~/contexts/Security\";\n\nexport function useSecurity() {\n return useContext(SecurityContext);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEO,SAASE,WAAWA,CAAA,EAAG;EAC1B,OAAO,IAAAC,iBAAU,EAACC,yBAAe,CAAC;AACtC","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_Security","useSecurity","context","useContext","SecurityContext","Error"],"sources":["useSecurity.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport { SecurityContext } from \"~/contexts/Security\";\n\nexport function useSecurity() {\n const context = useContext(SecurityContext);\n\n if (!context) {\n throw Error(`Missing <SecurityProvider> in the component hierarchy!`);\n }\n\n return context;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEO,SAASE,WAAWA,CAAA,EAAG;EAC1B,IAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACC,yBAAe,CAAC;EAE3C,IAAI,CAACF,OAAO,EAAE;IACV,MAAMG,KAAK,yDAAyD,CAAC;EACzE;EAEA,OAAOH,OAAO;AAClB","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-security",
3
- "version": "5.40.0-beta.4",
3
+ "version": "5.40.0-beta.6",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -13,8 +13,8 @@
13
13
  ],
14
14
  "license": "MIT",
15
15
  "dependencies": {
16
- "@webiny/app": "5.40.0-beta.4",
17
- "@webiny/plugins": "5.40.0-beta.4",
16
+ "@webiny/app": "5.40.0-beta.6",
17
+ "@webiny/plugins": "5.40.0-beta.6",
18
18
  "minimatch": "5.1.6",
19
19
  "react": "18.2.0",
20
20
  "react-dom": "18.2.0"
@@ -27,8 +27,8 @@
27
27
  "@babel/preset-react": "7.24.1",
28
28
  "@babel/preset-typescript": "7.24.1",
29
29
  "@emotion/babel-plugin": "11.11.0",
30
- "@webiny/cli": "5.40.0-beta.4",
31
- "@webiny/project-utils": "5.40.0-beta.4",
30
+ "@webiny/cli": "5.40.0-beta.6",
31
+ "@webiny/project-utils": "5.40.0-beta.6",
32
32
  "rimraf": "5.0.5",
33
33
  "ttypescript": "1.5.15",
34
34
  "typescript": "4.7.4"
@@ -48,5 +48,5 @@
48
48
  ]
49
49
  }
50
50
  },
51
- "gitHead": "42f3b1c985d6f8317d5c1084838b43a270c79f01"
51
+ "gitHead": "e6ce53a387a9b1ab39aa8d15e4ed9be2359f17aa"
52
52
  }
package/types.d.ts CHANGED
@@ -37,3 +37,5 @@ export interface SecurityIdentity {
37
37
  getPermission?<T extends SecurityPermission = SecurityPermission>(name: string): T | null;
38
38
  [key: string]: any;
39
39
  }
40
+ export declare type IdToken = string;
41
+ export declare type IdTokenProvider = () => Promise<IdToken | undefined> | IdToken | undefined;
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { Plugin } from \"@webiny/app/types\";\n\nexport type SecureRouteErrorPlugin = Plugin & {\n render(): React.ReactElement;\n};\n\nexport interface FullAccessPermission {\n name: \"*\";\n}\n\nexport interface SecurityPermission {\n name: string;\n [key: string]: any;\n}\n\nexport interface SecurityIdentity {\n id: string;\n type: string;\n displayName: string;\n permissions?: SecurityPermission[];\n /**\n * TODO @ts-refactor @pavel\n * Verify that login can be present in here.\n */\n login?: string;\n /**\n * TODO @ts-refactor @pavel\n * Verify that profile can be present in here.\n */\n profile?: {\n email?: string;\n firstName?: string;\n lastName?: string;\n avatar?: {\n src?: string;\n };\n gravatar?: string;\n };\n logout(): void;\n // For backwards compatibility, expose the `getPermission` method on the `identity` object.\n getPermission?<T extends SecurityPermission = SecurityPermission>(name: string): T | null;\n [key: string]: any;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { Plugin } from \"@webiny/app/types\";\n\nexport type SecureRouteErrorPlugin = Plugin & {\n render(): React.ReactElement;\n};\n\nexport interface FullAccessPermission {\n name: \"*\";\n}\n\nexport interface SecurityPermission {\n name: string;\n [key: string]: any;\n}\n\nexport interface SecurityIdentity {\n id: string;\n type: string;\n displayName: string;\n permissions?: SecurityPermission[];\n /**\n * TODO @ts-refactor @pavel\n * Verify that login can be present in here.\n */\n login?: string;\n /**\n * TODO @ts-refactor @pavel\n * Verify that profile can be present in here.\n */\n profile?: {\n email?: string;\n firstName?: string;\n lastName?: string;\n avatar?: {\n src?: string;\n };\n gravatar?: string;\n };\n logout(): void;\n // For backwards compatibility, expose the `getPermission` method on the `identity` object.\n getPermission?<T extends SecurityPermission = SecurityPermission>(name: string): T | null;\n [key: string]: any;\n}\n\nexport type IdToken = string;\n\nexport type IdTokenProvider = () => Promise<IdToken | undefined> | IdToken | undefined;\n"],"mappings":"","ignoreList":[]}