react-oauth2-code-pkce
Advanced tools
Comparing version 1.14.0 to 1.15.0
@@ -10,4 +10,4 @@ "use strict"; | ||
// Set default values for internal config object | ||
const { autoLogin = true, clearURL = true, decodeToken = true, scope = undefined, preLogin = () => null, postLogin = () => null, onRefreshTokenExpire = undefined, storage = 'local', } = passedConfig; | ||
const config = Object.assign(Object.assign({}, passedConfig), { autoLogin: autoLogin, clearURL: clearURL, decodeToken: decodeToken, scope: scope, preLogin: preLogin, postLogin: postLogin, onRefreshTokenExpire: onRefreshTokenExpire, storage: storage }); | ||
const { autoLogin = true, clearURL = true, decodeToken = true, scope = undefined, preLogin = () => null, postLogin = () => null, onRefreshTokenExpire = undefined, storage = 'local', storageKeyPrefix = 'ROCP_', } = passedConfig; | ||
const config = Object.assign(Object.assign({}, passedConfig), { autoLogin: autoLogin, clearURL: clearURL, decodeToken: decodeToken, scope: scope, preLogin: preLogin, postLogin: postLogin, onRefreshTokenExpire: onRefreshTokenExpire, storage: storage, storageKeyPrefix: storageKeyPrefix }); | ||
validateConfig(config); | ||
@@ -14,0 +14,0 @@ return config; |
@@ -46,9 +46,9 @@ "use strict"; | ||
const config = (0, react_1.useMemo)(() => (0, authConfig_1.createInternalConfig)(authConfig), [authConfig]); | ||
const [refreshToken, setRefreshToken] = (0, Hooks_1.default)('ROCP_refreshToken', undefined, config.storage); | ||
const [refreshTokenExpire, setRefreshTokenExpire] = (0, Hooks_1.default)('ROCP_refreshTokenExpire', (0, timeUtils_1.epochAtSecondsFromNow)(2 * timeUtils_1.FALLBACK_EXPIRE_TIME), config.storage); | ||
const [token, setToken] = (0, Hooks_1.default)('ROCP_token', '', config.storage); | ||
const [tokenExpire, setTokenExpire] = (0, Hooks_1.default)('ROCP_tokenExpire', (0, timeUtils_1.epochAtSecondsFromNow)(timeUtils_1.FALLBACK_EXPIRE_TIME), config.storage); | ||
const [idToken, setIdToken] = (0, Hooks_1.default)('ROCP_idToken', undefined, config.storage); | ||
const [loginInProgress, setLoginInProgress] = (0, Hooks_1.default)('ROCP_loginInProgress', false, config.storage); | ||
const [refreshInProgress, setRefreshInProgress] = (0, Hooks_1.default)('ROCP_refreshInProgress', false, config.storage); | ||
const [refreshToken, setRefreshToken] = (0, Hooks_1.default)('refreshToken', undefined, config.storage, config.storageKeyPrefix); | ||
const [refreshTokenExpire, setRefreshTokenExpire] = (0, Hooks_1.default)('refreshTokenExpire', (0, timeUtils_1.epochAtSecondsFromNow)(2 * timeUtils_1.FALLBACK_EXPIRE_TIME), config.storage, config.storageKeyPrefix); | ||
const [token, setToken] = (0, Hooks_1.default)('token', '', config.storage, config.storageKeyPrefix); | ||
const [tokenExpire, setTokenExpire] = (0, Hooks_1.default)('tokenExpire', (0, timeUtils_1.epochAtSecondsFromNow)(timeUtils_1.FALLBACK_EXPIRE_TIME), config.storage, config.storageKeyPrefix); | ||
const [idToken, setIdToken] = (0, Hooks_1.default)('idToken', undefined, config.storage, config.storageKeyPrefix); | ||
const [loginInProgress, setLoginInProgress] = (0, Hooks_1.default)('loginInProgress', false, config.storage, config.storageKeyPrefix); | ||
const [refreshInProgress, setRefreshInProgress] = (0, Hooks_1.default)('refreshInProgress', false, config.storage, config.storageKeyPrefix); | ||
const [tokenData, setTokenData] = (0, react_1.useState)(); | ||
@@ -235,3 +235,3 @@ const [idTokenData, setIdTokenData] = (0, react_1.useState)(); | ||
try { | ||
if (config.decodeToken) | ||
if (token && config.decodeToken) | ||
setTokenData((0, decodeJWT_1.decodeJWT)(token)); | ||
@@ -238,0 +238,0 @@ } |
@@ -1,2 +0,2 @@ | ||
declare function useBrowserStorage<T>(key: string, initialValue: T, type: 'session' | 'local'): [T, (v: T) => void]; | ||
declare function useBrowserStorage<T>(key: string, initialValue: T, type: 'session' | 'local', prefix?: string): [T, (v: T) => void]; | ||
export default useBrowserStorage; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const react_1 = require("react"); | ||
function useBrowserStorage(key, initialValue, type) { | ||
function useBrowserStorage(key, initialValue, type, prefix) { | ||
const storage = type === 'session' ? sessionStorage : localStorage; | ||
key = `${prefix !== null && prefix !== void 0 ? prefix : ''}${key}`; | ||
const [storedValue, setStoredValue] = (0, react_1.useState)(() => { | ||
@@ -7,0 +8,0 @@ const item = storage.getItem(key); |
@@ -73,2 +73,3 @@ import { ReactNode } from 'react'; | ||
storage?: 'session' | 'local'; | ||
storageKeyPrefix?: 'ROCP_'; | ||
}; | ||
@@ -108,3 +109,4 @@ export type TRefreshTokenExpiredEvent = { | ||
storage: 'session' | 'local'; | ||
storageKeyPrefix?: string; | ||
}; | ||
export {}; |
{ | ||
"name": "react-oauth2-code-pkce", | ||
"version": "1.14.0", | ||
"version": "1.15.0", | ||
"description": "Provider agnostic react package for OAuth2 Authorization Code flow with PKCE", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -149,2 +149,4 @@ # react-oauth2-code-pkce · [](https://github.com/soofstad/react-oauth2-pkce/blob/main/LICENSE) [](https://www.npmjs.com/package/react-oauth2-code-pkce)  | ||
storage?: 'local' | 'session' // default: 'local' | ||
// Sets the prefix used when storing login state | ||
storageKeyPrefix?: string // default: 'ROCP_' | ||
// Set to false if you need to access the urlParameters sent back from the login server. | ||
@@ -151,0 +153,0 @@ clearURL?: boolean // default: true |
46152
752
193