dauth-context-react 0.1.2 → 0.1.4

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,4 +1,4 @@
1
- import { createElement, useReducer, useEffect, useCallback, useMemo, createContext, useContext } from 'react';
1
+ import React, { useReducer, useEffect, useCallback, useMemo, createContext, useContext } from 'react';
2
2
 
3
3
  function _regeneratorRuntime() {
4
4
  _regeneratorRuntime = function () {
@@ -346,42 +346,9 @@ function _extends() {
346
346
  return _extends.apply(this, arguments);
347
347
  }
348
348
 
349
- // export interface IDauthDomain {
350
- // name: string
351
- // loginRedirect: string
352
- // allowedOrigins: string[]
353
- // }
354
- // export interface IDauthState {
355
- // user: IDauthUser
356
- // domain: IDauthDomain
357
- // isLoading: boolean
358
- // isAuthenticated: boolean
359
- // loginWithRedirect: () => void
360
- // logout: () => void
361
- // getAccessToken: () => void
362
- // }
363
- // const userState = {
364
- // _id: "",
365
- // ssid: "",
366
- // name: "",
367
- // lastname: "",
368
- // nickname: "",
369
- // email: "",
370
- // is_verified: false,
371
- // language: "",
372
- // avatar: "",
373
- // createdAt: new Date(),
374
- // updatedAt: new Date(),
375
- // last_login: new Date(),
376
- // }
377
- var domainState = {
378
- name: "",
379
- loginRedirect: "",
380
- allowedOrigins: [""]
381
- };
382
349
  var initialDauthState = {
383
350
  user: {},
384
- domain: domainState,
351
+ domain: {},
385
352
  isLoading: true,
386
353
  isAuthenticated: false,
387
354
  loginWithRedirect: function loginWithRedirect() {},
@@ -411,9 +378,9 @@ function userReducer(state, action) {
411
378
  }
412
379
  }
413
380
 
414
- var isLocalhost = /*#__PURE__*/Boolean(window.location.hostname === "localhost" || window.location.hostname === "[::1]" || /*#__PURE__*/window.location.hostname.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm) || /*#__PURE__*/window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));
415
- var apiVersion = "v1";
416
- var serverDomain = "dauth.ovh";
381
+ var isLocalhost = /*#__PURE__*/Boolean(window.location.hostname === 'localhost' || window.location.hostname === '[::1]' || /*#__PURE__*/window.location.hostname.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm) || /*#__PURE__*/window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));
382
+ var apiVersion = 'v1';
383
+ var serverDomain = 'dauth.ovh';
417
384
  function getServerBasePath(_ref) {
418
385
  var domainName = _ref.domainName;
419
386
  var serverPort = 4012;
@@ -438,10 +405,10 @@ var getTenantUserAPI = /*#__PURE__*/function () {
438
405
  while (1) switch (_context.prev = _context.next) {
439
406
  case 0:
440
407
  params = {
441
- method: "GET",
408
+ method: 'GET',
442
409
  headers: {
443
410
  Authorization: "" + token,
444
- "Content-Type": "application/json"
411
+ 'Content-Type': 'application/json'
445
412
  }
446
413
  };
447
414
  _context.next = 3;
@@ -631,18 +598,15 @@ function _setLogoutAction() {
631
598
  return _setLogoutAction.apply(this, arguments);
632
599
  }
633
600
 
634
- // Delete me
635
- var Thing = function Thing() {
636
- return createElement("div", null, "the snozzberries taste like snozzberries");
637
- };
638
601
  var DauthProvider = function DauthProvider(props) {
639
602
  var domainName = props.domainName,
640
603
  sid = props.sid,
641
604
  ssid = props.ssid,
642
605
  children = props.children;
643
606
  var _useReducer = useReducer(userReducer, initialDauthState),
644
- dauthState = _useReducer[0],
607
+ ds = _useReducer[0],
645
608
  dispatch = _useReducer[1];
609
+ var dauthState = ds;
646
610
  // Catch login redirect
647
611
  useEffect(function () {
648
612
  var queryString = window.location.search;
@@ -686,12 +650,12 @@ var DauthProvider = function DauthProvider(props) {
686
650
  logout: logout
687
651
  });
688
652
  }, [dauthState, loginWithRedirect, logout]);
689
- return createElement(DauthContext.Provider, {
653
+ return React.createElement(DauthContext.Provider, {
690
654
  value: memoProvider
691
655
  }, children);
692
656
  };
693
657
  var DauthContext = /*#__PURE__*/createContext(initialDauthState);
694
- var useDauthContext = function useDauthContext() {
658
+ var useDauth = function useDauth() {
695
659
  var context = useContext(DauthContext);
696
660
  if (!context) {
697
661
  throw new Error('useMyContext debe ser utilizado dentro de un MyContextProvider');
@@ -699,5 +663,5 @@ var useDauthContext = function useDauthContext() {
699
663
  return context;
700
664
  };
701
665
 
702
- export { DauthProvider, Thing, useDauthContext };
666
+ export { DauthProvider, useDauth };
703
667
  //# sourceMappingURL=dauth-context-react.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dauth-context-react.esm.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n\t_id: string\n\tssid: string\n\tname: string\n\tlastname: string\n\tnickname: string\n\temail: string\n\tis_verified: boolean\n\tlanguage: string\n\tavatar: string\n\tcreatedAt: Date\n\tupdatedAt: Date\n\tlast_login: Date\n}\n\n// export interface IDauthDomain {\n// \tname: string\n// \tloginRedirect: string\n// \tallowedOrigins: string[]\n// }\n\n// export interface IDauthState {\n// \tuser: IDauthUser\n// \tdomain: IDauthDomain\n// \tisLoading: boolean\n// \tisAuthenticated: boolean\n// \tloginWithRedirect: () => void\n// \tlogout: () => void\n// \tgetAccessToken: () => void\n// }\n\n// const userState = {\n// \t_id: \"\",\n// \tssid: \"\",\n// \tname: \"\",\n// \tlastname: \"\",\n// \tnickname: \"\",\n// \temail: \"\",\n// \tis_verified: false,\n// \tlanguage: \"\",\n// \tavatar: \"\",\n// \tcreatedAt: new Date(),\n// \tupdatedAt: new Date(),\n// \tlast_login: new Date(),\n// }\n\nconst domainState = {\n\tname: \"\",\n\tloginRedirect: \"\",\n\tallowedOrigins: [\"\"],\n}\n\nconst initialDauthState = {\n\tuser: {} as IDauthUser,\n\tdomain: domainState,\n\tisLoading: true,\n\tisAuthenticated: false,\n\tloginWithRedirect: () => { },\n\tlogout: () => { },\n\tgetAccessToken: () => { },\n}\n\nexport default initialDauthState","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';","import * as DauthTypes from './dauth.types'\n\nexport default function userReducer(state: any, action: any) {\n\tconst { type, payload } = action;\n\n\tswitch (type) {\n\t\tcase DauthTypes.LOGIN:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tuser: payload.user,\n\t\t\t\tdomain: payload.domain,\n\t\t\t\tisAuthenticated: payload.isAuthenticated,\n\t\t\t}\n\n\t\tcase DauthTypes.SET_IS_LOADING:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tisLoading: payload.isLoading,\n\t\t\t}\n\n\t\tdefault:\n\t\t\treturn state\n\t}\n}","const isLocalhost = Boolean(\n window.location.hostname === \"localhost\" ||\n window.location.hostname === \"[::1]\" ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = \"v1\";\nexport const serverDomain = \"dauth.ovh\";\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`\n const clientProdUrl = `https://${domainName}.${serverDomain}`\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}","import { getServerBasePath } from \"./utils/config\";\n\nexport const getTenantUserAPI = async (domainName: string, ssid: string, token: string): Promise<any> => {\n const params = {\n method: \"GET\",\n headers: {\n Authorization: `${token}`,\n \"Content-Type\": \"application/json\",\n }\n }\n const response = await fetch(`${getServerBasePath({ domainName })}/get-tenant-user/${ssid}`, params)\n const data = await response.json()\n return { response, data }\n}","export const DAUTH_STATE = 'dauth_state';","import { getTenantUserAPI } from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport * as DauthTypes from './dauth.types'\n\nexport async function setDauthStateAction({ dispatch, dauth_state, domainName, ssid }: { dispatch: any, dauth_state: string, domainName: string, ssid: string }) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } })\n try {\n const getUserFetch = await getTenantUserAPI(domainName, ssid, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n })\n window.history.replaceState({}, document.title, getUserFetch.data.domain.loginRedirect);\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: false } })\n }\n}\n\nexport async function setAutoLoginAction({ dispatch, dauth_state_ls, domainName, ssid }: { dispatch: any, dauth_state_ls: string, domainName: string, ssid: string }) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } })\n try {\n const getUserFetch = await getTenantUserAPI(domainName, ssid, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n })\n localStorage.setItem(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: false } })\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } })\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {},\n domain: {},\n isAuthenticated: false,\n },\n })\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: false } })\n}","import * as React from 'react';\nimport { useReducer, useMemo, useEffect, useCallback } from 'react'\nimport initialDauthState from './initialDauthState'\nimport userReducer from './reducer/dauth.reducer'\nimport * as action from \"./reducer/dauth.actions\"\nimport { getClientBasePath } from './api/utils/config'\nimport { DAUTH_STATE } from './constants'\n\n// Delete me\nexport const Thing = () => {\n return <div>the snozzberries taste like snozzberries</div>;\n};\n\ninterface DauthProviderProps {\n domainName: string\n sid: string\n ssid: string\n children: React.ReactNode\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (props: DauthProviderProps) => {\n\tconst { domainName, sid, ssid, children } = props\n\tconst [dauthState, dispatch] = useReducer(userReducer, initialDauthState)\n\n\t// Catch login redirect\n\tuseEffect(() => {\n\t\tconst queryString = window.location.search;\n\t\tif (!queryString) return\n\t\tconst urlParams = new URLSearchParams(queryString);\n\t\tconst dauth_state = urlParams.get(DAUTH_STATE);\n\t\tif (dauth_state && !dauthState.isAuthenticated) {\n\t\t\taction.setDauthStateAction({ dispatch, dauth_state, domainName, ssid })\n\t\t}\n\t}, [dauthState.isAuthenticated, domainName, ssid])\n\n\t// Auto Login\n\tuseEffect(() => {\n\t\tconst dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n\t\tif (dauth_state_ls && !dauthState.isAuthenticated) {\n\t\t\taction.setAutoLoginAction({ dispatch, dauth_state_ls, domainName, ssid })\n\t\t}\n\t}, [dauthState.isAuthenticated, domainName, ssid])\n\n\tconst loginWithRedirect = useCallback(() => {\n\t\treturn window.location.replace(`${getClientBasePath({ domainName })}/t-sign/${sid}`);\n\t}, [domainName, sid])\n\n\tconst logout = useCallback(() => {\n\t\treturn action.setLogoutAction({ dispatch })\n\t}, [])\n\n\tconst memoProvider = useMemo(\n\t\t() => ({\n\t\t\t...dauthState,\n\t\t\tloginWithRedirect,\n\t\t\tlogout\n\t\t}), [\n\t\tdauthState,\n\t\tloginWithRedirect,\n\t\tlogout\n\t])\n\n\n\treturn (\n\t\t<DauthContext.Provider value={memoProvider}>\n\t\t\t{children}\n\t\t</DauthContext.Provider>\n\t)\n}\n\nconst DauthContext = React.createContext(initialDauthState);\n\nexport const useDauthContext = () => {\n const context = React.useContext(DauthContext);\n if (!context) {\n throw new Error('useMyContext debe ser utilizado dentro de un MyContextProvider');\n }\n return context;\n};"],"names":["domainState","name","loginRedirect","allowedOrigins","initialDauthState","user","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","LOGIN","SET_IS_LOADING","userReducer","state","action","type","payload","DauthTypes","_extends","isLocalhost","Boolean","window","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getTenantUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","ssid","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","_x3","apply","arguments","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","document","title","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","_callee2","dauth_state_ls","_callee2$","_context2","setLogoutAction","_setLogoutAction","_callee3","_ref3","_callee3$","_context3","Thing","React","DauthProvider","props","sid","children","_useReducer","useReducer","dauthState","useEffect","queryString","search","urlParams","URLSearchParams","get","getItem","useCallback","replace","memoProvider","useMemo","DauthContext","Provider","value","useDauthContext","context","Error"],"mappings":"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"}
1
+ {"version":3,"file":"dauth-context-react.esm.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n ssid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\nexport interface IDauthDomain {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomain;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => void;\n}\n\nconst initialDauthState: IDauthState = {\n user: {} as IDauthUser,\n domain: {} as IDauthDomain,\n isLoading: true,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => {},\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\n","import * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n default:\n return state;\n }\n}\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { getServerBasePath } from './utils/config';\n\nexport const getTenantUserAPI = async (\n domainName: string,\n ssid: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${ssid}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import { getTenantUserAPI } from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: any;\n dauth_state: string;\n domainName: string;\n ssid: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n ssid,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, ssid, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n ssid: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n ssid,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(\n domainName,\n ssid,\n dauth_state_ls\n );\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {},\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthState } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n ssid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, ssid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName, ssid });\n }\n }, [dauthState.isAuthenticated, domainName, ssid]);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName, ssid });\n }\n }, [dauthState.isAuthenticated, domainName, ssid]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n }),\n [dauthState, loginWithRedirect, logout]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error(\n 'useMyContext debe ser utilizado dentro de un MyContextProvider'\n );\n }\n return context;\n};\n"],"names":["initialDauthState","user","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","LOGIN","SET_IS_LOADING","userReducer","state","action","type","payload","DauthTypes","_extends","isLocalhost","Boolean","window","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getTenantUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","ssid","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","_x3","apply","arguments","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","document","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","_callee2","dauth_state_ls","_callee2$","_context2","setLogoutAction","_setLogoutAction","_callee3","_ref3","_callee3$","_context3","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","queryString","search","urlParams","URLSearchParams","get","getItem","useCallback","replace","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
- export declare const Thing: () => React.JSX.Element;
1
+ import React from 'react';
2
+ import { IDauthState } from './initialDauthState';
3
3
  interface DauthProviderProps {
4
4
  domainName: string;
5
5
  sid: string;
@@ -7,30 +7,5 @@ interface DauthProviderProps {
7
7
  children: React.ReactNode;
8
8
  }
9
9
  export declare const DauthProvider: React.FC<DauthProviderProps>;
10
- export declare const useDauthContext: () => {
11
- user: {
12
- _id: string;
13
- ssid: string;
14
- name: string;
15
- lastname: string;
16
- nickname: string;
17
- email: string;
18
- is_verified: boolean;
19
- language: string;
20
- avatar: string;
21
- createdAt: Date;
22
- updatedAt: Date;
23
- last_login: Date;
24
- };
25
- domain: {
26
- name: string;
27
- loginRedirect: string;
28
- allowedOrigins: string[];
29
- };
30
- isLoading: boolean;
31
- isAuthenticated: boolean;
32
- loginWithRedirect: () => void;
33
- logout: () => void;
34
- getAccessToken: () => void;
35
- };
10
+ export declare const useDauth: () => IDauthState;
36
11
  export {};
@@ -12,17 +12,19 @@ export interface IDauthUser {
12
12
  updatedAt: Date;
13
13
  last_login: Date;
14
14
  }
15
- declare const initialDauthState: {
15
+ export interface IDauthDomain {
16
+ name: string;
17
+ loginRedirect: string;
18
+ allowedOrigins: string[];
19
+ }
20
+ export interface IDauthState {
16
21
  user: IDauthUser;
17
- domain: {
18
- name: string;
19
- loginRedirect: string;
20
- allowedOrigins: string[];
21
- };
22
+ domain: IDauthDomain;
22
23
  isLoading: boolean;
23
24
  isAuthenticated: boolean;
24
25
  loginWithRedirect: () => void;
25
26
  logout: () => void;
26
27
  getAccessToken: () => void;
27
- };
28
+ }
29
+ declare const initialDauthState: IDauthState;
28
30
  export default initialDauthState;
@@ -1,15 +1,18 @@
1
- export declare function setDauthStateAction({ dispatch, dauth_state, domainName, ssid }: {
1
+ declare type TSetDauthStateAction = {
2
2
  dispatch: any;
3
3
  dauth_state: string;
4
4
  domainName: string;
5
5
  ssid: string;
6
- }): Promise<void>;
7
- export declare function setAutoLoginAction({ dispatch, dauth_state_ls, domainName, ssid }: {
6
+ };
7
+ export declare function setDauthStateAction({ dispatch, dauth_state, domainName, ssid, }: TSetDauthStateAction): Promise<void>;
8
+ declare type TSetAutoLoginAction = {
8
9
  dispatch: any;
9
10
  dauth_state_ls: string;
10
11
  domainName: string;
11
12
  ssid: string;
12
- }): Promise<void>;
13
+ };
14
+ export declare function setAutoLoginAction({ dispatch, dauth_state_ls, domainName, ssid, }: TSetAutoLoginAction): Promise<void>;
13
15
  export declare function setLogoutAction({ dispatch }: {
14
16
  dispatch: any;
15
17
  }): Promise<any>;
18
+ export {};
package/package.json CHANGED
@@ -1 +1,61 @@
1
- {"version":"0.1.2","license":"MIT","main":"dist/index.js","typings":"dist/index.d.ts","files":["dist","src"],"engines":{"node":">=10"},"scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --passWithNoTests","lint":"tsdx lint","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why"},"peerDependencies":{"react":">=16"},"husky":{"hooks":{"pre-commit":"tsdx lint"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"name":"dauth-context-react","author":"David T. Pizarro Frick","module":"dist/dauth-context-react.esm.js","size-limit":[{"path":"dist/dauth-context-react.cjs.production.min.js","limit":"10 KB"},{"path":"dist/dauth-context-react.esm.js","limit":"10 KB"}],"devDependencies":{"@size-limit/preset-small-lib":"^11.0.2","@types/react":"^18.2.55","@types/react-dom":"^18.2.19","husky":"^9.0.10","react":"^18.2.0","react-dom":"^18.2.0","size-limit":"^11.0.2","tsdx":"^0.14.1","tslib":"^2.6.2","typescript":"^3.9.10"}}
1
+ {
2
+ "version": "0.1.4",
3
+ "license": "MIT",
4
+ "main": "dist/index.js",
5
+ "typings": "dist/index.d.ts",
6
+ "files": [
7
+ "dist",
8
+ "src"
9
+ ],
10
+ "engines": {
11
+ "node": ">=10"
12
+ },
13
+ "scripts": {
14
+ "start": "tsdx watch",
15
+ "build": "tsdx build",
16
+ "test": "tsdx test --passWithNoTests",
17
+ "lint": "tsdx lint",
18
+ "prepare": "tsdx build",
19
+ "size": "size-limit",
20
+ "analyze": "size-limit --why"
21
+ },
22
+ "peerDependencies": {
23
+ "react": ">=16"
24
+ },
25
+ "husky": {
26
+ "hooks": {
27
+ "pre-commit": "tsdx lint"
28
+ }
29
+ },
30
+ "prettier": {
31
+ "printWidth": 80,
32
+ "semi": true,
33
+ "singleQuote": true,
34
+ "trailingComma": "es5"
35
+ },
36
+ "name": "dauth-context-react",
37
+ "author": "David T. Pizarro Frick",
38
+ "module": "dist/dauth-context-react.esm.js",
39
+ "size-limit": [
40
+ {
41
+ "path": "dist/dauth-context-react.cjs.production.min.js",
42
+ "limit": "10 KB"
43
+ },
44
+ {
45
+ "path": "dist/dauth-context-react.esm.js",
46
+ "limit": "10 KB"
47
+ }
48
+ ],
49
+ "devDependencies": {
50
+ "@size-limit/preset-small-lib": "^11.0.2",
51
+ "@types/react": "^18.2.55",
52
+ "@types/react-dom": "^18.2.19",
53
+ "husky": "^9.0.10",
54
+ "react": "^18.2.0",
55
+ "react-dom": "^18.2.0",
56
+ "size-limit": "^11.0.2",
57
+ "tsdx": "^0.14.1",
58
+ "tslib": "^2.6.2",
59
+ "typescript": "^3.9.10"
60
+ }
61
+ }
@@ -1,14 +1,21 @@
1
- import { getServerBasePath } from "./utils/config";
1
+ import { getServerBasePath } from './utils/config';
2
2
 
3
- export const getTenantUserAPI = async (domainName: string, ssid: string, token: string): Promise<any> => {
3
+ export const getTenantUserAPI = async (
4
+ domainName: string,
5
+ ssid: string,
6
+ token: string
7
+ ): Promise<any> => {
4
8
  const params = {
5
- method: "GET",
9
+ method: 'GET',
6
10
  headers: {
7
11
  Authorization: `${token}`,
8
- "Content-Type": "application/json",
9
- }
10
- }
11
- const response = await fetch(`${getServerBasePath({ domainName })}/get-tenant-user/${ssid}`, params)
12
- const data = await response.json()
13
- return { response, data }
14
- }
12
+ 'Content-Type': 'application/json',
13
+ },
14
+ };
15
+ const response = await fetch(
16
+ `${getServerBasePath({ domainName })}/get-tenant-user/${ssid}`,
17
+ params
18
+ );
19
+ const data = await response.json();
20
+ return { response, data };
21
+ };
@@ -1,28 +1,28 @@
1
1
  const isLocalhost = Boolean(
2
- window.location.hostname === "localhost" ||
3
- window.location.hostname === "[::1]" ||
4
- window.location.hostname.match(
5
- /(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm
6
- ) ||
7
- window.location.hostname.match(
8
- /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
9
- )
2
+ window.location.hostname === 'localhost' ||
3
+ window.location.hostname === '[::1]' ||
4
+ window.location.hostname.match(
5
+ /(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm
6
+ ) ||
7
+ window.location.hostname.match(
8
+ /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
9
+ )
10
10
  );
11
- export const apiVersion = "v1";
12
- export const serverDomain = "dauth.ovh";
11
+ export const apiVersion = 'v1';
12
+ export const serverDomain = 'dauth.ovh';
13
13
 
14
14
  export function getServerBasePath({ domainName }: { domainName: string }) {
15
15
  const serverPort = 4012;
16
- const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`
17
- const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`
16
+ const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;
17
+ const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;
18
18
  const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;
19
19
  return serverBasePath;
20
20
  }
21
21
 
22
22
  export function getClientBasePath({ domainName }: { domainName: string }) {
23
23
  const clientPort = 5185;
24
- const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`
25
- const clientProdUrl = `https://${domainName}.${serverDomain}`
24
+ const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;
25
+ const clientProdUrl = `https://${domainName}.${serverDomain}`;
26
26
  const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;
27
27
  return clientBasePath;
28
- }
28
+ }
package/src/constants.ts CHANGED
@@ -1 +1 @@
1
- export const DAUTH_STATE = 'dauth_state';
1
+ export const DAUTH_STATE = 'dauth_state';
package/src/index.tsx CHANGED
@@ -1,79 +1,84 @@
1
- import * as React from 'react';
2
- import { useReducer, useMemo, useEffect, useCallback } from 'react'
3
- import initialDauthState from './initialDauthState'
4
- import userReducer from './reducer/dauth.reducer'
5
- import * as action from "./reducer/dauth.actions"
6
- import { getClientBasePath } from './api/utils/config'
7
- import { DAUTH_STATE } from './constants'
8
-
9
- // Delete me
10
- export const Thing = () => {
11
- return <div>the snozzberries taste like snozzberries</div>;
12
- };
1
+ import React, {
2
+ useReducer,
3
+ useMemo,
4
+ useEffect,
5
+ useCallback,
6
+ createContext,
7
+ useContext,
8
+ } from 'react';
9
+ import initialDauthState, { IDauthState } from './initialDauthState';
10
+ import userReducer from './reducer/dauth.reducer';
11
+ import * as action from './reducer/dauth.actions';
12
+ import { getClientBasePath } from './api/utils/config';
13
+ import { DAUTH_STATE } from './constants';
13
14
 
14
15
  interface DauthProviderProps {
15
- domainName: string
16
- sid: string
17
- ssid: string
18
- children: React.ReactNode
16
+ domainName: string;
17
+ sid: string;
18
+ ssid: string;
19
+ children: React.ReactNode;
19
20
  }
20
21
 
21
- export const DauthProvider: React.FC<DauthProviderProps> = (props: DauthProviderProps) => {
22
- const { domainName, sid, ssid, children } = props
23
- const [dauthState, dispatch] = useReducer(userReducer, initialDauthState)
24
-
25
- // Catch login redirect
26
- useEffect(() => {
27
- const queryString = window.location.search;
28
- if (!queryString) return
29
- const urlParams = new URLSearchParams(queryString);
30
- const dauth_state = urlParams.get(DAUTH_STATE);
31
- if (dauth_state && !dauthState.isAuthenticated) {
32
- action.setDauthStateAction({ dispatch, dauth_state, domainName, ssid })
33
- }
34
- }, [dauthState.isAuthenticated, domainName, ssid])
22
+ export const DauthProvider: React.FC<DauthProviderProps> = (
23
+ props: DauthProviderProps
24
+ ) => {
25
+ const { domainName, sid, ssid, children } = props;
26
+ const [ds, dispatch] = useReducer(userReducer, initialDauthState);
27
+ const dauthState = ds as IDauthState;
35
28
 
36
- // Auto Login
37
- useEffect(() => {
38
- const dauth_state_ls = localStorage.getItem(DAUTH_STATE);
39
- if (dauth_state_ls && !dauthState.isAuthenticated) {
40
- action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName, ssid })
41
- }
42
- }, [dauthState.isAuthenticated, domainName, ssid])
29
+ // Catch login redirect
30
+ useEffect(() => {
31
+ const queryString = window.location.search;
32
+ if (!queryString) return;
33
+ const urlParams = new URLSearchParams(queryString);
34
+ const dauth_state = urlParams.get(DAUTH_STATE);
35
+ if (dauth_state && !dauthState.isAuthenticated) {
36
+ action.setDauthStateAction({ dispatch, dauth_state, domainName, ssid });
37
+ }
38
+ }, [dauthState.isAuthenticated, domainName, ssid]);
43
39
 
44
- const loginWithRedirect = useCallback(() => {
45
- return window.location.replace(`${getClientBasePath({ domainName })}/t-sign/${sid}`);
46
- }, [domainName, sid])
40
+ // Auto Login
41
+ useEffect(() => {
42
+ const dauth_state_ls = localStorage.getItem(DAUTH_STATE);
43
+ if (dauth_state_ls && !dauthState.isAuthenticated) {
44
+ action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName, ssid });
45
+ }
46
+ }, [dauthState.isAuthenticated, domainName, ssid]);
47
47
 
48
- const logout = useCallback(() => {
49
- return action.setLogoutAction({ dispatch })
50
- }, [])
48
+ const loginWithRedirect = useCallback(() => {
49
+ return window.location.replace(
50
+ `${getClientBasePath({ domainName })}/t-sign/${sid}`
51
+ );
52
+ }, [domainName, sid]);
51
53
 
52
- const memoProvider = useMemo(
53
- () => ({
54
- ...dauthState,
55
- loginWithRedirect,
56
- logout
57
- }), [
58
- dauthState,
59
- loginWithRedirect,
60
- logout
61
- ])
54
+ const logout = useCallback(() => {
55
+ return action.setLogoutAction({ dispatch });
56
+ }, []);
62
57
 
58
+ const memoProvider = useMemo(
59
+ () => ({
60
+ ...dauthState,
61
+ loginWithRedirect,
62
+ logout,
63
+ }),
64
+ [dauthState, loginWithRedirect, logout]
65
+ );
63
66
 
64
- return (
65
- <DauthContext.Provider value={memoProvider}>
66
- {children}
67
- </DauthContext.Provider>
68
- )
69
- }
67
+ return (
68
+ <DauthContext.Provider value={memoProvider}>
69
+ {children}
70
+ </DauthContext.Provider>
71
+ );
72
+ };
70
73
 
71
- const DauthContext = React.createContext(initialDauthState);
74
+ const DauthContext = createContext(initialDauthState);
72
75
 
73
- export const useDauthContext = () => {
74
- const context = React.useContext(DauthContext);
76
+ export const useDauth = () => {
77
+ const context = useContext(DauthContext);
75
78
  if (!context) {
76
- throw new Error('useMyContext debe ser utilizado dentro de un MyContextProvider');
79
+ throw new Error(
80
+ 'useMyContext debe ser utilizado dentro de un MyContextProvider'
81
+ );
77
82
  }
78
83
  return context;
79
- };
84
+ };