react-oauth2-code-pkce
Advanced tools
Comparing version 1.15.3 to 1.16.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', 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 }); | ||
const { autoLogin = true, clearURL = true, decodeToken = true, scope = undefined, preLogin = () => null, postLogin = () => null, onRefreshTokenExpire = undefined, storage = 'local', storageKeyPrefix = 'ROCP_', refreshWithScope = true, } = 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, refreshWithScope: refreshWithScope }); | ||
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)('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 [refreshToken, setRefreshToken] = (0, Hooks_1.default)(`${config.storageKeyPrefix}refreshToken`, undefined, config.storage); | ||
const [refreshTokenExpire, setRefreshTokenExpire] = (0, Hooks_1.default)(`${config.storageKeyPrefix}refreshTokenExpire`, (0, timeUtils_1.epochAtSecondsFromNow)(2 * timeUtils_1.FALLBACK_EXPIRE_TIME), config.storage); | ||
const [token, setToken] = (0, Hooks_1.default)(`${config.storageKeyPrefix}token`, '', config.storage); | ||
const [tokenExpire, setTokenExpire] = (0, Hooks_1.default)(`${config.storageKeyPrefix}tokenExpire`, (0, timeUtils_1.epochAtSecondsFromNow)(timeUtils_1.FALLBACK_EXPIRE_TIME), config.storage); | ||
const [idToken, setIdToken] = (0, Hooks_1.default)(`${config.storageKeyPrefix}idToken`, undefined, config.storage); | ||
const [loginInProgress, setLoginInProgress] = (0, Hooks_1.default)(`${config.storageKeyPrefix}loginInProgress`, false, config.storage); | ||
const [refreshInProgress, setRefreshInProgress] = (0, Hooks_1.default)(`${config.storageKeyPrefix}refreshInProgress`, false, config.storage); | ||
const [tokenData, setTokenData] = (0, react_1.useState)(); | ||
@@ -55,0 +55,0 @@ const [idTokenData, setIdTokenData] = (0, react_1.useState)(); |
@@ -80,3 +80,5 @@ "use strict"; | ||
const { config, refreshToken } = props; | ||
const refreshRequest = Object.assign({ grant_type: 'refresh_token', refresh_token: refreshToken, scope: config.scope, client_id: config.clientId, redirect_uri: config.redirectUri }, config.extraTokenParameters); | ||
const refreshRequest = Object.assign({ grant_type: 'refresh_token', refresh_token: refreshToken, client_id: config.clientId, redirect_uri: config.redirectUri }, config.extraTokenParameters); | ||
if (config.refreshWithScope) | ||
refreshRequest.scope = config.scope; | ||
return postTokenRequest(config.tokenEndpoint, refreshRequest); | ||
@@ -83,0 +85,0 @@ }; |
@@ -1,2 +0,2 @@ | ||
declare function useBrowserStorage<T>(key: string, initialValue: T, type: 'session' | 'local', prefix?: string): [T, (v: T) => void]; | ||
declare function useBrowserStorage<T>(key: string, initialValue: T, type: 'session' | 'local'): [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, prefix) { | ||
function useBrowserStorage(key, initialValue, type) { | ||
const storage = type === 'session' ? sessionStorage : localStorage; | ||
key = `${prefix !== null && prefix !== void 0 ? prefix : ''}${key}`; | ||
const [storedValue, setStoredValue] = (0, react_1.useState)(() => { | ||
@@ -8,0 +7,0 @@ const item = storage.getItem(key); |
@@ -74,2 +74,3 @@ import { ReactNode } from 'react'; | ||
storageKeyPrefix?: string; | ||
refreshWithScope?: boolean; | ||
}; | ||
@@ -109,4 +110,5 @@ export type TRefreshTokenExpiredEvent = { | ||
storage: 'session' | 'local'; | ||
storageKeyPrefix?: string; | ||
storageKeyPrefix: string; | ||
refreshWithScope: boolean; | ||
}; | ||
export {}; |
{ | ||
"name": "react-oauth2-code-pkce", | ||
"version": "1.15.3", | ||
"version": "1.16.0", | ||
"description": "Provider agnostic react package for OAuth2 Authorization Code flow with PKCE", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -166,2 +166,4 @@ # react-oauth2-code-pkce · [](https://github.com/soofstad/react-oauth2-pkce/blob/main/LICENSE) [](https://www.npmjs.com/package/react-oauth2-code-pkce)  | ||
refreshTokenExpiresIn?: number // default: null | ||
// Whether or not to post 'scope' when refreshing the access token | ||
refreshWithScope?: boolean // default: true | ||
} | ||
@@ -168,0 +170,0 @@ |
46725
758
196