dauth-context-react 0.1.55 → 0.1.56
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/dist/dauth-context-react.cjs.development.js +2 -4
- package/dist/dauth-context-react.cjs.development.js.map +1 -1
- package/dist/dauth-context-react.cjs.production.min.js +1 -1
- package/dist/dauth-context-react.cjs.production.min.js.map +1 -1
- package/dist/dauth-context-react.esm.js +2 -4
- package/dist/dauth-context-react.esm.js.map +1 -1
- package/dist/initialDauthState.d.ts +1 -1
- package/package.json +1 -1
- package/src/initialDauthState.ts +3 -3
|
@@ -356,13 +356,11 @@ function _extends() {
|
|
|
356
356
|
var initialDauthState = {
|
|
357
357
|
user: {},
|
|
358
358
|
domain: {},
|
|
359
|
-
isLoading:
|
|
359
|
+
isLoading: false,
|
|
360
360
|
isAuthenticated: false,
|
|
361
361
|
loginWithRedirect: function loginWithRedirect() {},
|
|
362
362
|
logout: function logout() {},
|
|
363
|
-
getAccessToken: function getAccessToken() {
|
|
364
|
-
return undefined;
|
|
365
|
-
}
|
|
363
|
+
getAccessToken: function getAccessToken() {}
|
|
366
364
|
};
|
|
367
365
|
|
|
368
366
|
var LOGIN = 'LOGIN';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.cjs.development.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: () => string | undefined;\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: () => undefined,\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 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/${domainName}`,\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};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, 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};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, 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 } 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 children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, 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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\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 getAccessToken = useCallback(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n return dauth_state_ls;\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken]\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('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","undefined","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","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","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","_x3","_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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"}
|
|
1
|
+
{"version":3,"file":"dauth-context-react.cjs.development.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: false,\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 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/${domainName}`,\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};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, 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};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, 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 } 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 children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, 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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\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 getAccessToken = useCallback(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n return dauth_state_ls;\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken]\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('useDauth must be used inside DauthProvider');\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","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","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","_x3","_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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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=require("react"),r=(t=e)&&"object"==typeof t&&"default"in t?t.default:t;function n(){n=function(){return e};var t,e={},r=Object.prototype,o=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},c=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function h(t,e,r,n){var o=Object.create((e&&e.prototype instanceof m?e:m).prototype),i=new j(n||[]);return a(o,"_invoke",{value:I(t,r,i)}),o}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=h;var p="suspendedStart",d="executing",v="completed",y={};function m(){}function g(){}function w(){}var L={};l(L,c,(function(){return this}));var b=Object.getPrototypeOf,x=b&&b(b(k([])));x&&x!==r&&o.call(x,c)&&(L=x);var _=w.prototype=m.prototype=Object.create(L);function E(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function r(n,a,i,c){var u=f(t[n],t,a);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==typeof l&&o.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,i,c)}),(function(t){r("throw",t,i,c)})):e.resolve(l).then((function(t){s.value=t,i(s)}),(function(t){return r("throw",t,i,c)}))}c(u.arg)}var n;a(this,"_invoke",{value:function(t,o){function a(){return new e((function(e,n){r(t,o,e,n)}))}return n=n?n.then(a,a):a()}})}function I(e,r,n){var o=p;return function(a,i){if(o===d)throw new Error("Generator is already running");if(o===v){if("throw"===a)throw i;return{value:t,done:!0}}for(n.method=a,n.arg=i;;){var c=n.delegate;if(c){var u=O(c,n);if(u){if(u===y)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var s=f(e,r,n);if("normal"===s.type){if(o=n.done?v:"suspendedYield",s.arg===y)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=v,n.method="throw",n.arg=s.arg)}}}function O(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,O(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var a=f(o,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,y;var i=a.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function N(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function A(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function k(e){if(e||""===e){var r=e[c];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function r(){for(;++n<e.length;)if(o.call(e,n))return r.value=e[n],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(typeof e+" is not iterable")}return g.prototype=w,a(_,"constructor",{value:w,configurable:!0}),a(w,"constructor",{value:g,configurable:!0}),g.displayName=l(w,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,l(t,s,"GeneratorFunction")),t.prototype=Object.create(_),t},e.awrap=function(t){return{__await:t}},E(S.prototype),l(S.prototype,u,(function(){return this})),e.AsyncIterator=S,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new S(h(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},E(_),l(_,s,"Generator"),l(_,c,(function(){return this})),l(_,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=k,j.prototype={constructor:j,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(A),!e)for(var r in this)"t"===r.charAt(0)&&o.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,o){return c.type="throw",c.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=o.call(i,"catchLoc"),s=o.call(i,"finallyLoc");if(u&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var a=n;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=e,a?(this.method="next",this.next=a.finallyLoc,y):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),A(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:k(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function o(t,e,r,n,o,a,i){try{var c=t[a](i),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function a(t){return function(){var e=this,r=arguments;return new Promise((function(n,a){var i=t.apply(e,r);function c(t){o(i,n,a,c,u,"next",t)}function u(t){o(i,n,a,c,u,"throw",t)}c(void 0)}))}}function i(){return(i=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}var c={user:{},domain:{},isLoading:!0,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){}};function u(t,e){var r=e.payload;switch(e.type){case"LOGIN":return i({},t,{user:r.user,domain:r.domain,isAuthenticated:r.isAuthenticated});case"SET_IS_LOADING":return i({},t,{isLoading:r.isLoading});default:return t}}var s=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||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)||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function l(t){var e=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return s?e:"https://"+t.domainName+".dauth.ovh/api/v1"}var h=function(){var t=a(n().mark((function t(e,r){var o,a;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o={method:"GET",headers:{Authorization:""+r,"Content-Type":"application/json"}},t.next=3,fetch(l({domainName:e})+"/get-tenant-user/"+e,o);case 3:return a=t.sent,t.next=6,a.json();case 6:return t.abrupt("return",{response:a,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),f="dauth_state";function p(){return(p=a(n().mark((function t(e){var r,o,a,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=e.dauth_state,a=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,h(a,o);case 5:if(200!==(i=t.sent).response.status){t.next=12;break}return r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),window.history.replaceState({},document.title,i.data.domain.loginRedirect),t.abrupt("return",localStorage.setItem(f,o));case 12:return t.abrupt("return",localStorage.removeItem(f));case 13:t.next=19;break;case 15:t.prev=15,t.t0=t.catch(2),localStorage.removeItem(f),console.log(t.t0);case 19:return t.prev=19,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(19);case 22:case"end":return t.stop()}}),t,null,[[2,15,19,22]])})))).apply(this,arguments)}function d(){return(d=a(n().mark((function t(e){var r,o,a,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=e.dauth_state_ls,a=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,h(a,o);case 5:200===(i=t.sent).response.status?(r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),localStorage.setItem(f,o)):localStorage.removeItem(f),t.next=13;break;case 9:t.prev=9,t.t0=t.catch(2),localStorage.removeItem(f),console.log(t.t0);case 13:return t.prev=13,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(13);case 16:case"end":return t.stop()}}),t,null,[[2,9,13,16]])})))).apply(this,arguments)}function v(){return(v=a(n().mark((function t(e){var r;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),r({type:"LOGIN",payload:{user:{},domain:{},isAuthenticated:!1}}),localStorage.removeItem(f),t.abrupt("return",r({type:"SET_IS_LOADING",payload:{isLoading:!1}}));case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var y=e.createContext(c);exports.DauthProvider=function(t){var n=t.domainName,o=t.sid,a=t.children,l=e.useReducer(u,c),h=l[1],m=l[0];e.useEffect((function(){var t=window.location.search;if(t){var e=new URLSearchParams(t).get(f);e&&!m.isAuthenticated&&function(t){p.apply(this,arguments)}({dispatch:h,dauth_state:e,domainName:n})}}),[m.isAuthenticated,n]),e.useEffect((function(){var t=localStorage.getItem(f);t&&!m.isAuthenticated&&function(t){d.apply(this,arguments)}({dispatch:h,dauth_state_ls:t,domainName:n})}),[m.isAuthenticated,n]);var g=e.useCallback((function(){return window.location.replace((t=window.location.protocol+"//"+window.location.hostname+":5185",(s?t:"https://"+n+".dauth.ovh")+"/t-sign/"+o));var t}),[n,o]),w=e.useCallback((function(){return function(t){return v.apply(this,arguments)}({dispatch:h})}),[]),L=e.useCallback((function(){return localStorage.getItem(f)}),[]),b=e.useMemo((function(){return i({},m,{loginWithRedirect:g,logout:w,getAccessToken:L})}),[m,g,w,L]);return r.createElement(y.Provider,{value:b},a)},exports.useDauth=function(){var t=e.useContext(y);if(!t)throw new Error("useDauth must be used inside DauthProvider");return t};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=require("react"),r=(t=e)&&"object"==typeof t&&"default"in t?t.default:t;function n(){n=function(){return e};var t,e={},r=Object.prototype,o=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},c=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function h(t,e,r,n){var o=Object.create((e&&e.prototype instanceof m?e:m).prototype),i=new j(n||[]);return a(o,"_invoke",{value:I(t,r,i)}),o}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=h;var p="suspendedStart",d="executing",v="completed",y={};function m(){}function g(){}function w(){}var L={};l(L,c,(function(){return this}));var b=Object.getPrototypeOf,x=b&&b(b(k([])));x&&x!==r&&o.call(x,c)&&(L=x);var _=w.prototype=m.prototype=Object.create(L);function E(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function r(n,a,i,c){var u=f(t[n],t,a);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==typeof l&&o.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,i,c)}),(function(t){r("throw",t,i,c)})):e.resolve(l).then((function(t){s.value=t,i(s)}),(function(t){return r("throw",t,i,c)}))}c(u.arg)}var n;a(this,"_invoke",{value:function(t,o){function a(){return new e((function(e,n){r(t,o,e,n)}))}return n=n?n.then(a,a):a()}})}function I(e,r,n){var o=p;return function(a,i){if(o===d)throw new Error("Generator is already running");if(o===v){if("throw"===a)throw i;return{value:t,done:!0}}for(n.method=a,n.arg=i;;){var c=n.delegate;if(c){var u=O(c,n);if(u){if(u===y)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var s=f(e,r,n);if("normal"===s.type){if(o=n.done?v:"suspendedYield",s.arg===y)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=v,n.method="throw",n.arg=s.arg)}}}function O(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,O(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var a=f(o,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,y;var i=a.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function N(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function A(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function k(e){if(e||""===e){var r=e[c];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function r(){for(;++n<e.length;)if(o.call(e,n))return r.value=e[n],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(typeof e+" is not iterable")}return g.prototype=w,a(_,"constructor",{value:w,configurable:!0}),a(w,"constructor",{value:g,configurable:!0}),g.displayName=l(w,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,l(t,s,"GeneratorFunction")),t.prototype=Object.create(_),t},e.awrap=function(t){return{__await:t}},E(S.prototype),l(S.prototype,u,(function(){return this})),e.AsyncIterator=S,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new S(h(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},E(_),l(_,s,"Generator"),l(_,c,(function(){return this})),l(_,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=k,j.prototype={constructor:j,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(A),!e)for(var r in this)"t"===r.charAt(0)&&o.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,o){return c.type="throw",c.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=o.call(i,"catchLoc"),s=o.call(i,"finallyLoc");if(u&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var a=n;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=e,a?(this.method="next",this.next=a.finallyLoc,y):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),A(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:k(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function o(t,e,r,n,o,a,i){try{var c=t[a](i),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function a(t){return function(){var e=this,r=arguments;return new Promise((function(n,a){var i=t.apply(e,r);function c(t){o(i,n,a,c,u,"next",t)}function u(t){o(i,n,a,c,u,"throw",t)}c(void 0)}))}}function i(){return(i=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}var c={user:{},domain:{},isLoading:!1,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){}};function u(t,e){var r=e.payload;switch(e.type){case"LOGIN":return i({},t,{user:r.user,domain:r.domain,isAuthenticated:r.isAuthenticated});case"SET_IS_LOADING":return i({},t,{isLoading:r.isLoading});default:return t}}var s=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||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)||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function l(t){var e=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return s?e:"https://"+t.domainName+".dauth.ovh/api/v1"}var h=function(){var t=a(n().mark((function t(e,r){var o,a;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o={method:"GET",headers:{Authorization:""+r,"Content-Type":"application/json"}},t.next=3,fetch(l({domainName:e})+"/get-tenant-user/"+e,o);case 3:return a=t.sent,t.next=6,a.json();case 6:return t.abrupt("return",{response:a,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),f="dauth_state";function p(){return(p=a(n().mark((function t(e){var r,o,a,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=e.dauth_state,a=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,h(a,o);case 5:if(200!==(i=t.sent).response.status){t.next=12;break}return r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),window.history.replaceState({},document.title,i.data.domain.loginRedirect),t.abrupt("return",localStorage.setItem(f,o));case 12:return t.abrupt("return",localStorage.removeItem(f));case 13:t.next=19;break;case 15:t.prev=15,t.t0=t.catch(2),localStorage.removeItem(f),console.log(t.t0);case 19:return t.prev=19,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(19);case 22:case"end":return t.stop()}}),t,null,[[2,15,19,22]])})))).apply(this,arguments)}function d(){return(d=a(n().mark((function t(e){var r,o,a,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=e.dauth_state_ls,a=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,h(a,o);case 5:200===(i=t.sent).response.status?(r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),localStorage.setItem(f,o)):localStorage.removeItem(f),t.next=13;break;case 9:t.prev=9,t.t0=t.catch(2),localStorage.removeItem(f),console.log(t.t0);case 13:return t.prev=13,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(13);case 16:case"end":return t.stop()}}),t,null,[[2,9,13,16]])})))).apply(this,arguments)}function v(){return(v=a(n().mark((function t(e){var r;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),r({type:"LOGIN",payload:{user:{},domain:{},isAuthenticated:!1}}),localStorage.removeItem(f),t.abrupt("return",r({type:"SET_IS_LOADING",payload:{isLoading:!1}}));case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var y=e.createContext(c);exports.DauthProvider=function(t){var n=t.domainName,o=t.sid,a=t.children,l=e.useReducer(u,c),h=l[1],m=l[0];e.useEffect((function(){var t=window.location.search;if(t){var e=new URLSearchParams(t).get(f);e&&!m.isAuthenticated&&function(t){p.apply(this,arguments)}({dispatch:h,dauth_state:e,domainName:n})}}),[m.isAuthenticated,n]),e.useEffect((function(){var t=localStorage.getItem(f);t&&!m.isAuthenticated&&function(t){d.apply(this,arguments)}({dispatch:h,dauth_state_ls:t,domainName:n})}),[m.isAuthenticated,n]);var g=e.useCallback((function(){return window.location.replace((t=window.location.protocol+"//"+window.location.hostname+":5185",(s?t:"https://"+n+".dauth.ovh")+"/t-sign/"+o));var t}),[n,o]),w=e.useCallback((function(){return function(t){return v.apply(this,arguments)}({dispatch:h})}),[]),L=e.useCallback((function(){return localStorage.getItem(f)}),[]),b=e.useMemo((function(){return i({},m,{loginWithRedirect:g,logout:w,getAccessToken:L})}),[m,g,w,L]);return r.createElement(y.Provider,{value:b},a)},exports.useDauth=function(){var t=e.useContext(y);if(!t)throw new Error("useDauth must be used inside DauthProvider");return t};
|
|
2
2
|
//# sourceMappingURL=dauth-context-react.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.reducer.ts","../src/reducer/dauth.types.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: () => string | undefined;\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: () => undefined,\n};\n\nexport default initialDauthState;\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","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\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 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/${domainName}`,\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};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, 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};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, 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 } 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 children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, 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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\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 getAccessToken = useCallback(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n return dauth_state_ls;\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken]\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('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","userReducer","state","action","payload","type","_extends","isLocalhost","Boolean","window","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getTenantUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","fetch","sent","json","abrupt","data","stop","_x","_x2","apply","arguments","DAUTH_STATE","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","document","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","_setAutoLoginAction","_callee2","_ref2","dauth_state_ls","_context2","_setLogoutAction","_callee3","_ref3","_context3","DauthContext","createContext","props","sid","children","_useReducer","useReducer","dauthState","useEffect","queryString","search","URLSearchParams","get","getItem","useCallback","replace","clientLocalUrl","_x3","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.reducer.ts","../src/reducer/dauth.types.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: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => {},\n};\n\nexport default initialDauthState;\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","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\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 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/${domainName}`,\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};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, 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};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, 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 } 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 children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, 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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\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 getAccessToken = useCallback(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n return dauth_state_ls;\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken]\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('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","userReducer","state","action","payload","type","_extends","isLocalhost","Boolean","window","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getTenantUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","fetch","sent","json","abrupt","data","stop","_x","_x2","apply","arguments","DAUTH_STATE","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","document","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","_setAutoLoginAction","_callee2","_ref2","dauth_state_ls","_context2","_setLogoutAction","_callee3","_ref3","_context3","DauthContext","createContext","props","sid","children","_useReducer","useReducer","dauthState","useEffect","queryString","search","URLSearchParams","get","getItem","useCallback","replace","clientLocalUrl","_x3","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
|
|
@@ -349,13 +349,11 @@ function _extends() {
|
|
|
349
349
|
var initialDauthState = {
|
|
350
350
|
user: {},
|
|
351
351
|
domain: {},
|
|
352
|
-
isLoading:
|
|
352
|
+
isLoading: false,
|
|
353
353
|
isAuthenticated: false,
|
|
354
354
|
loginWithRedirect: function loginWithRedirect() {},
|
|
355
355
|
logout: function logout() {},
|
|
356
|
-
getAccessToken: function getAccessToken() {
|
|
357
|
-
return undefined;
|
|
358
|
-
}
|
|
356
|
+
getAccessToken: function getAccessToken() {}
|
|
359
357
|
};
|
|
360
358
|
|
|
361
359
|
var LOGIN = 'LOGIN';
|
|
@@ -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 _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: () => string | undefined;\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: () => undefined,\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 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/${domainName}`,\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};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, 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};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, 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 } 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 children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, 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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\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 getAccessToken = useCallback(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n return dauth_state_ls;\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken]\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('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","undefined","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","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","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","_x3","_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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"}
|
|
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: false,\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 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/${domainName}`,\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};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, 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};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, 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 } 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 children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, 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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\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 getAccessToken = useCallback(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n return dauth_state_ls;\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken]\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('useDauth must be used inside DauthProvider');\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","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","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","_x3","_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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"}
|
|
@@ -24,7 +24,7 @@ export interface IDauthState {
|
|
|
24
24
|
isAuthenticated: boolean;
|
|
25
25
|
loginWithRedirect: () => void;
|
|
26
26
|
logout: () => void;
|
|
27
|
-
getAccessToken: () =>
|
|
27
|
+
getAccessToken: () => void;
|
|
28
28
|
}
|
|
29
29
|
declare const initialDauthState: IDauthState;
|
|
30
30
|
export default initialDauthState;
|
package/package.json
CHANGED
package/src/initialDauthState.ts
CHANGED
|
@@ -26,17 +26,17 @@ export interface IDauthState {
|
|
|
26
26
|
isAuthenticated: boolean;
|
|
27
27
|
loginWithRedirect: () => void;
|
|
28
28
|
logout: () => void;
|
|
29
|
-
getAccessToken: () =>
|
|
29
|
+
getAccessToken: () => void;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
const initialDauthState: IDauthState = {
|
|
33
33
|
user: {} as IDauthUser,
|
|
34
34
|
domain: {} as IDauthDomain,
|
|
35
|
-
isLoading:
|
|
35
|
+
isLoading: false,
|
|
36
36
|
isAuthenticated: false,
|
|
37
37
|
loginWithRedirect: () => {},
|
|
38
38
|
logout: () => {},
|
|
39
|
-
getAccessToken: () =>
|
|
39
|
+
getAccessToken: () => {},
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
export default initialDauthState;
|