oidc-react
Advanced tools
Comparing version 1.6.0-alpha to 2.0.0
@@ -1,8 +0,7 @@ | ||
import React, { FC } from 'react'; | ||
import { UserManager } from 'oidc-client'; | ||
import React, { FC, PropsWithChildren } from 'react'; | ||
import { UserManager } from 'oidc-client-ts'; | ||
import { Location, AuthProviderProps, AuthContextProps } from './AuthContextInterface'; | ||
export declare const defaultAuthContext: AuthContextProps; | ||
export declare const AuthContext: React.Context<AuthContextProps>; | ||
export declare const AuthContext: React.Context<AuthContextProps | undefined>; | ||
export declare const hasCodeInUrl: (location: Location) => boolean; | ||
export declare const initUserManager: (props: AuthProviderProps) => UserManager; | ||
export declare const AuthProvider: FC<AuthProviderProps>; | ||
export declare const AuthProvider: FC<PropsWithChildren<AuthProviderProps>>; |
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
@@ -17,3 +21,3 @@ if (k2 === undefined) k2 = k; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
@@ -31,2 +35,29 @@ return result; | ||
}; | ||
var __generator = (this && this.__generator) || function (thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
function step(op) { | ||
if (f) throw new TypeError("Generator is already executing."); | ||
while (_) try { | ||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
case 0: case 1: t = op; break; | ||
case 4: _.label++; return { value: op[1], done: false }; | ||
case 5: _.label++; y = op[1]; op = [0]; continue; | ||
case 7: op = _.ops.pop(); _.trys.pop(); continue; | ||
default: | ||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } | ||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } | ||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } | ||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } | ||
if (t[2]) _.ops.pop(); | ||
_.trys.pop(); continue; | ||
} | ||
op = body.call(thisArg, _); | ||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } | ||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; | ||
} | ||
}; | ||
var __rest = (this && this.__rest) || function (s, e) { | ||
@@ -44,18 +75,9 @@ var t = {}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.AuthProvider = exports.initUserManager = exports.hasCodeInUrl = exports.AuthContext = exports.defaultAuthContext = void 0; | ||
const react_1 = __importStar(require("react")); | ||
const oidc_client_1 = require("oidc-client"); | ||
exports.defaultAuthContext = { | ||
signIn: () => Promise.reject(new Error('AuthContext not loaded yet.')), | ||
signInPopup: () => Promise.reject(new Error('AuthContext not loaded yet.')), | ||
signOut: () => Promise.reject(new Error('AuthContext not loaded yet.')), | ||
signOutRedirect: () => Promise.reject(new Error('AuthContext not loaded yet.')), | ||
userManager: {}, | ||
userData: null, | ||
isLoading: true, | ||
}; | ||
exports.AuthContext = react_1.default.createContext(exports.defaultAuthContext); | ||
exports.hasCodeInUrl = (location) => { | ||
const searchParams = new URLSearchParams(location.search); | ||
const hashParams = new URLSearchParams(location.hash.replace('#', '?')); | ||
exports.AuthProvider = exports.initUserManager = exports.hasCodeInUrl = exports.AuthContext = void 0; | ||
var react_1 = __importStar(require("react")); | ||
var oidc_client_ts_1 = require("oidc-client-ts"); | ||
exports.AuthContext = react_1.default.createContext(undefined); | ||
var hasCodeInUrl = function (location) { | ||
var searchParams = new URLSearchParams(location.search); | ||
var hashParams = new URLSearchParams(location.hash.replace('#', '?')); | ||
return Boolean(searchParams.get('code') || | ||
@@ -68,11 +90,12 @@ searchParams.get('id_token') || | ||
}; | ||
exports.initUserManager = (props) => { | ||
exports.hasCodeInUrl = hasCodeInUrl; | ||
var initUserManager = function (props) { | ||
if (props.userManager) | ||
return props.userManager; | ||
const { authority, clientId, clientSecret, redirectUri, silentRedirectUri, postLogoutRedirectUri, responseType, scope, automaticSilentRenew, loadUserInfo, popupWindowFeatures, popupRedirectUri, popupWindowTarget, } = props; | ||
return new oidc_client_1.UserManager({ | ||
authority, | ||
client_id: clientId, | ||
var authority = props.authority, clientId = props.clientId, clientSecret = props.clientSecret, redirectUri = props.redirectUri, silentRedirectUri = props.silentRedirectUri, postLogoutRedirectUri = props.postLogoutRedirectUri, responseType = props.responseType, scope = props.scope, automaticSilentRenew = props.automaticSilentRenew, loadUserInfo = props.loadUserInfo, popupWindowFeatures = props.popupWindowFeatures, popupRedirectUri = props.popupRedirectUri, popupWindowTarget = props.popupWindowTarget; | ||
return new oidc_client_ts_1.UserManager({ | ||
authority: authority || '', | ||
client_id: clientId || '', | ||
client_secret: clientSecret, | ||
redirect_uri: redirectUri, | ||
redirect_uri: redirectUri || '', | ||
silent_redirect_uri: silentRedirectUri || redirectUri, | ||
@@ -86,75 +109,139 @@ post_logout_redirect_uri: postLogoutRedirectUri || redirectUri, | ||
popupWindowTarget: popupWindowTarget, | ||
automaticSilentRenew, | ||
automaticSilentRenew: automaticSilentRenew, | ||
}); | ||
}; | ||
exports.AuthProvider = (_a) => { | ||
var { children, autoSignIn = true, onBeforeSignIn, onSignIn, onSignOut, location = window.location } = _a, props = __rest(_a, ["children", "autoSignIn", "onBeforeSignIn", "onSignIn", "onSignOut", "location"]); | ||
const [isLoading, setIsLoading] = react_1.useState(true); | ||
const [userData, setUserData] = react_1.useState(null); | ||
const [userManager] = react_1.useState(exports.initUserManager(props)); | ||
const signOutHooks = () => __awaiter(void 0, void 0, void 0, function* () { | ||
setUserData(null); | ||
onSignOut && onSignOut(); | ||
}); | ||
const signInPopupHooks = () => __awaiter(void 0, void 0, void 0, function* () { | ||
const userFromPopup = yield userManager.signinPopup(); | ||
setUserData(userFromPopup); | ||
onSignIn && onSignIn(userFromPopup); | ||
yield userManager.signinPopupCallback(); | ||
}); | ||
const isMountedRef = react_1.useRef(true); | ||
react_1.useEffect(() => { | ||
return () => { | ||
exports.initUserManager = initUserManager; | ||
var AuthProvider = function (_a) { | ||
var children = _a.children, _b = _a.autoSignIn, autoSignIn = _b === void 0 ? true : _b, onBeforeSignIn = _a.onBeforeSignIn, onSignIn = _a.onSignIn, onSignOut = _a.onSignOut, _c = _a.location, location = _c === void 0 ? window.location : _c, props = __rest(_a, ["children", "autoSignIn", "onBeforeSignIn", "onSignIn", "onSignOut", "location"]); | ||
var _d = (0, react_1.useState)(true), isLoading = _d[0], setIsLoading = _d[1]; | ||
var _e = (0, react_1.useState)(null), userData = _e[0], setUserData = _e[1]; | ||
var userManager = (0, react_1.useState)(function () { return (0, exports.initUserManager)(props); })[0]; | ||
var signOutHooks = function () { return __awaiter(void 0, void 0, void 0, function () { | ||
return __generator(this, function (_a) { | ||
setUserData(null); | ||
onSignOut && onSignOut(); | ||
return [2]; | ||
}); | ||
}); }; | ||
var signInPopupHooks = function () { return __awaiter(void 0, void 0, void 0, function () { | ||
var userFromPopup; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: return [4, userManager.signinPopup()]; | ||
case 1: | ||
userFromPopup = _a.sent(); | ||
setUserData(userFromPopup); | ||
onSignIn && onSignIn(userFromPopup); | ||
return [4, userManager.signinPopupCallback()]; | ||
case 2: | ||
_a.sent(); | ||
return [2]; | ||
} | ||
}); | ||
}); }; | ||
var isMountedRef = (0, react_1.useRef)(true); | ||
(0, react_1.useEffect)(function () { | ||
return function () { | ||
isMountedRef.current = false; | ||
}; | ||
}, []); | ||
react_1.useEffect(() => { | ||
const getUser = () => __awaiter(void 0, void 0, void 0, function* () { | ||
if (exports.hasCodeInUrl(location)) { | ||
const user = yield userManager.signinCallback(); | ||
setUserData(user); | ||
setIsLoading(false); | ||
onSignIn && onSignIn(user); | ||
return; | ||
} | ||
const user = yield userManager.getUser(); | ||
if ((!user || user.expired) && autoSignIn) { | ||
onBeforeSignIn && onBeforeSignIn(); | ||
userManager.signinRedirect(); | ||
} | ||
else if (isMountedRef.current) { | ||
setUserData(user); | ||
setIsLoading(false); | ||
} | ||
return; | ||
}); | ||
(0, react_1.useEffect)(function () { | ||
var getUser = function () { return __awaiter(void 0, void 0, void 0, function () { | ||
var user_1, user; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
if (!(0, exports.hasCodeInUrl)(location)) return [3, 2]; | ||
return [4, userManager.signinCallback()]; | ||
case 1: | ||
user_1 = _a.sent(); | ||
setUserData(user_1); | ||
setIsLoading(false); | ||
onSignIn && onSignIn(user_1); | ||
return [2]; | ||
case 2: return [4, userManager.getUser()]; | ||
case 3: | ||
user = _a.sent(); | ||
if ((!user || user.expired) && autoSignIn) { | ||
onBeforeSignIn && onBeforeSignIn(); | ||
userManager.signinRedirect(); | ||
} | ||
else if (isMountedRef.current) { | ||
setUserData(user); | ||
setIsLoading(false); | ||
} | ||
return [2]; | ||
} | ||
}); | ||
}); }; | ||
getUser(); | ||
}, [location, userManager, autoSignIn, onBeforeSignIn, onSignIn]); | ||
react_1.useEffect(() => { | ||
const updateUserData = () => __awaiter(void 0, void 0, void 0, function* () { | ||
const user = yield userManager.getUser(); | ||
isMountedRef.current && setUserData(user); | ||
}); | ||
(0, react_1.useEffect)(function () { | ||
var updateUserData = function () { return __awaiter(void 0, void 0, void 0, function () { | ||
var user; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: return [4, userManager.getUser()]; | ||
case 1: | ||
user = _a.sent(); | ||
isMountedRef.current && setUserData(user); | ||
return [2]; | ||
} | ||
}); | ||
}); }; | ||
userManager.events.addUserLoaded(updateUserData); | ||
return () => userManager.events.removeUserLoaded(updateUserData); | ||
return function () { return userManager.events.removeUserLoaded(updateUserData); }; | ||
}, [userManager]); | ||
return (react_1.default.createElement(exports.AuthContext.Provider, { value: { | ||
signIn: (args) => __awaiter(void 0, void 0, void 0, function* () { | ||
yield userManager.signinRedirect(args); | ||
}), | ||
signInPopup: () => __awaiter(void 0, void 0, void 0, function* () { | ||
yield signInPopupHooks(); | ||
}), | ||
signOut: () => __awaiter(void 0, void 0, void 0, function* () { | ||
yield userManager.removeUser(); | ||
yield signOutHooks(); | ||
}), | ||
signOutRedirect: (args) => __awaiter(void 0, void 0, void 0, function* () { | ||
yield userManager.signoutRedirect(args); | ||
yield signOutHooks(); | ||
}), | ||
userManager, | ||
userData, | ||
isLoading, | ||
signIn: function (args) { return __awaiter(void 0, void 0, void 0, function () { | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: return [4, userManager.signinRedirect(args)]; | ||
case 1: | ||
_a.sent(); | ||
return [2]; | ||
} | ||
}); | ||
}); }, | ||
signInPopup: function () { return __awaiter(void 0, void 0, void 0, function () { | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: return [4, signInPopupHooks()]; | ||
case 1: | ||
_a.sent(); | ||
return [2]; | ||
} | ||
}); | ||
}); }, | ||
signOut: function () { return __awaiter(void 0, void 0, void 0, function () { | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: return [4, userManager.removeUser()]; | ||
case 1: | ||
_a.sent(); | ||
return [4, signOutHooks()]; | ||
case 2: | ||
_a.sent(); | ||
return [2]; | ||
} | ||
}); | ||
}); }, | ||
signOutRedirect: function (args) { return __awaiter(void 0, void 0, void 0, function () { | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: return [4, userManager.signoutRedirect(args)]; | ||
case 1: | ||
_a.sent(); | ||
return [4, signOutHooks()]; | ||
case 2: | ||
_a.sent(); | ||
return [2]; | ||
} | ||
}); | ||
}); }, | ||
userManager: userManager, | ||
userData: userData, | ||
isLoading: isLoading, | ||
} }, children)); | ||
}; | ||
exports.AuthProvider = AuthProvider; |
@@ -1,2 +0,2 @@ | ||
import { UserManager, User } from 'oidc-client'; | ||
import { UserManager, User, PopupWindowFeatures } from 'oidc-client-ts'; | ||
export interface Location { | ||
@@ -23,3 +23,3 @@ search: string; | ||
loadUserInfo?: boolean; | ||
popupWindowFeatures?: string; | ||
popupWindowFeatures?: PopupWindowFeatures; | ||
popupRedirectUri?: string; | ||
@@ -26,0 +26,0 @@ popupWindowTarget?: string; |
@@ -5,2 +5,2 @@ export * from './useAuth'; | ||
export * from './AuthContextInterface'; | ||
export { User, UserManager, Log } from 'oidc-client'; | ||
export { User, UserManager, Log } from 'oidc-client-ts'; |
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
@@ -10,5 +14,6 @@ if (k2 === undefined) k2 = k; | ||
var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p); | ||
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.Log = exports.UserManager = exports.User = void 0; | ||
__exportStar(require("./useAuth"), exports); | ||
@@ -18,5 +23,5 @@ __exportStar(require("./withAuth"), exports); | ||
__exportStar(require("./AuthContextInterface"), exports); | ||
var oidc_client_1 = require("oidc-client"); | ||
Object.defineProperty(exports, "User", { enumerable: true, get: function () { return oidc_client_1.User; } }); | ||
Object.defineProperty(exports, "UserManager", { enumerable: true, get: function () { return oidc_client_1.UserManager; } }); | ||
Object.defineProperty(exports, "Log", { enumerable: true, get: function () { return oidc_client_1.Log; } }); | ||
var oidc_client_ts_1 = require("oidc-client-ts"); | ||
Object.defineProperty(exports, "User", { enumerable: true, get: function () { return oidc_client_ts_1.User; } }); | ||
Object.defineProperty(exports, "UserManager", { enumerable: true, get: function () { return oidc_client_ts_1.UserManager; } }); | ||
Object.defineProperty(exports, "Log", { enumerable: true, get: function () { return oidc_client_ts_1.Log; } }); |
import { AuthContextProps } from './AuthContextInterface'; | ||
export declare const useAuth: (ssr?: boolean | undefined) => AuthContextProps; | ||
export declare const useAuth: () => AuthContextProps; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.useAuth = void 0; | ||
const react_1 = require("react"); | ||
const AuthContext_1 = require("./AuthContext"); | ||
exports.useAuth = (ssr) => { | ||
const context = react_1.useContext(AuthContext_1.AuthContext); | ||
if (!ssr && context === AuthContext_1.defaultAuthContext) { | ||
var react_1 = require("react"); | ||
var AuthContext_1 = require("./AuthContext"); | ||
var useAuth = function () { | ||
var context = (0, react_1.useContext)(AuthContext_1.AuthContext); | ||
if (!context) { | ||
throw new Error('AuthProvider context is undefined, please verify you are calling useAuth() as child of a <AuthProvider> component.'); | ||
@@ -13,1 +13,2 @@ } | ||
}; | ||
exports.useAuth = useAuth; |
"use strict"; | ||
var __assign = (this && this.__assign) || function () { | ||
__assign = Object.assign || function(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) | ||
t[p] = s[p]; | ||
} | ||
return t; | ||
}; | ||
return __assign.apply(this, arguments); | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -7,9 +18,9 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
exports.withAuth = void 0; | ||
const useAuth_1 = require("./useAuth"); | ||
const react_1 = __importDefault(require("react")); | ||
var useAuth_1 = require("./useAuth"); | ||
var react_1 = __importDefault(require("react")); | ||
function withAuth(Component) { | ||
const displayName = `withAuth(${Component.displayName || Component.name})`; | ||
const C = (props) => { | ||
const auth = useAuth_1.useAuth(); | ||
return react_1.default.createElement(Component, Object.assign({}, props, auth)); | ||
var displayName = "withAuth(".concat(Component.displayName || Component.name, ")"); | ||
var C = function (props) { | ||
var auth = (0, useAuth_1.useAuth)(); | ||
return react_1.default.createElement(Component, __assign({}, props, auth)); | ||
}; | ||
@@ -16,0 +27,0 @@ C.displayName = displayName; |
@@ -6,2 +6,33 @@ # Changelog | ||
## [2.0.0](https://github.com/bjerkio/oidc-react/compare/v1.5.1...v2.0.0) (2022-07-25) | ||
### ⚠ BREAKING CHANGES | ||
* replace oidc-client-js with oidc-client-ts (#860) | ||
* migrate to react 18 (#827) | ||
### Features | ||
* create ES5 output for IE11 compatibility. ([#696](https://github.com/bjerkio/oidc-react/issues/696)) ([4d9712c](https://github.com/bjerkio/oidc-react/commit/4d9712c1882384cc89311c16a56bc6b091a53b0c)) | ||
* migrate to react 18 ([#827](https://github.com/bjerkio/oidc-react/issues/827)) ([28e998a](https://github.com/bjerkio/oidc-react/commit/28e998a1c56c8fd32ef15143ae4d31993f8d22d5)) | ||
### Bug Fixes | ||
* initUserManager in AuthContext called every render call ([#764](https://github.com/bjerkio/oidc-react/issues/764)) ([2cef6c7](https://github.com/bjerkio/oidc-react/commit/2cef6c748be19f278ba49900025f92dbd392885e)) | ||
* move release-please to after checkout ([9b70ccf](https://github.com/bjerkio/oidc-react/commit/9b70ccf581e8844d63717a17797790a0c0419443)) | ||
### Code Refactoring | ||
* replace oidc-client-js with oidc-client-ts ([#860](https://github.com/bjerkio/oidc-react/issues/860)) ([a07bb70](https://github.com/bjerkio/oidc-react/commit/a07bb705d4cd6d4074a055f46b83b2b4053fed1b)) | ||
## [1.6.0](https://github.com/bjerkio/oidc-react/compare/v1.5.1...v1.6.0) (2022-07-15) | ||
### Features | ||
* Change dependency from no longer maintained [oidc-client-js](https://github.com/IdentityModel/oidc-client-js) to its official successor [oidc-client-ts](https://github.com/authts/oidc-client-ts) | ||
## [1.5.1](https://github.com/bjerkio/oidc-react/compare/v1.5.0...v1.5.1) (2021-04-11) | ||
@@ -8,0 +39,0 @@ |
{ | ||
"name": "oidc-react", | ||
"version": "1.6.0-alpha", | ||
"version": "2.0.0", | ||
"private": false, | ||
"description": "", | ||
"repository": "github:bjerkio/oidc-react", | ||
"license": "MIT", | ||
"author": "", | ||
"main": "build/src/index.js", | ||
@@ -16,12 +19,26 @@ "files": [ | ||
"lint": "eslint . --ext .ts,.tsx", | ||
"generate-docs": "typedoc --out docs src" | ||
"generate-docs": "typedoc --out docs src", | ||
"bundlewatch": "bundlewatch --config .bundlewatch.config.json" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "git+https://github.com/bjerkio/oidc-react.git" | ||
"jest": { | ||
"coveragePathIgnorePatterns": [ | ||
"/node_modules/" | ||
], | ||
"coverageThreshold": { | ||
"global": { | ||
"branches": 80, | ||
"functions": 80, | ||
"lines": 80, | ||
"statements": -10 | ||
} | ||
}, | ||
"preset": "ts-jest", | ||
"testPathIgnorePatterns": [ | ||
"/node_modules/", | ||
"/__fixtures__/", | ||
"<rootDir>/build" | ||
] | ||
}, | ||
"author": "", | ||
"license": "MIT", | ||
"bugs": { | ||
"url": "https://github.com/bjerkio/oidc-react/issues" | ||
"dependencies": { | ||
"oidc-client-ts": "^2.0.5" | ||
}, | ||
@@ -33,6 +50,8 @@ "devDependencies": { | ||
"@types/jest": "^26.0.10", | ||
"@types/node": "^14.14.41", | ||
"@types/react": "^17.0.3", | ||
"@types/node": "^17.0.29", | ||
"@types/react": "^18.0.8", | ||
"@typescript-eslint/eslint-plugin": "^4.2.0", | ||
"@typescript-eslint/parser": "^4.2.0", | ||
"bundlesize": "^0.18.1", | ||
"bundlewatch": "^0.3.2", | ||
"eslint": "^7.9.0", | ||
@@ -47,4 +66,4 @@ "eslint-config-airbnb-base": "^14.1.0", | ||
"jest-cli": "^26.0.1", | ||
"react": "^17.0.0", | ||
"react-dom": "^17.0.0", | ||
"react": "^18.1.0", | ||
"react-dom": "^18.1.0", | ||
"ts-jest": "^25.3.1", | ||
@@ -54,31 +73,8 @@ "ts-node-dev": "^1.0.0-pre.40", | ||
"typedoc-plugin-markdown": "^3.0.3", | ||
"typescript": "^3.5.3" | ||
"typescript": "^4.6.3" | ||
}, | ||
"jest": { | ||
"preset": "ts-jest", | ||
"testPathIgnorePatterns": [ | ||
"/node_modules/", | ||
"/__fixtures__/", | ||
"<rootDir>/build" | ||
], | ||
"coveragePathIgnorePatterns": [ | ||
"/node_modules/" | ||
], | ||
"coverageThreshold": { | ||
"global": { | ||
"branches": 80, | ||
"functions": 80, | ||
"lines": 80, | ||
"statements": -10 | ||
} | ||
} | ||
}, | ||
"homepage": "https://github.com/bjerkio/oidc-react#readme", | ||
"peerDependencies": { | ||
"react": "^16.8.0 || ^17.0.0", | ||
"react-dom": "^16.8.0 || ^17.0.0" | ||
}, | ||
"dependencies": { | ||
"oidc-client": "^1.11.5" | ||
"react": "^16.8.0 || ^18.1.0", | ||
"react-dom": "^16.8.0 || ^18.1.0" | ||
} | ||
} |
@@ -19,3 +19,3 @@ # OIDC React | ||
Based on [oidc-client-js](https://github.com/IdentityModel/oidc-client-js). | ||
Based on [oidc-client-ts](https://github.com/authts/oidc-client-ts). | ||
@@ -64,3 +64,3 @@ ## Quickstart | ||
- [Example repository](https://github.com/cobraz/example-react-oidc) | ||
- [oidc-client-js Documentation](https://github.com/IdentityModel/oidc-client-js/wiki) | ||
- [oidc-client-ts Documentation](https://authts.github.io/oidc-client-ts/) | ||
@@ -67,0 +67,0 @@ ## Contribute & Disclaimer |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
No bug tracker
MaintenancePackage does not have a linked bug tracker in package.json.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
33621
368
26
2
1
1
+ Addedoidc-client-ts@^2.0.5
+ Addedjwt-decode@3.1.2(transitive)
+ Addedoidc-client-ts@2.4.0(transitive)
+ Addedreact@18.3.1(transitive)
+ Addedreact-dom@18.3.1(transitive)
+ Addedscheduler@0.23.2(transitive)
- Removedoidc-client@^1.11.5
- Removedacorn@7.4.1(transitive)
- Removedbase64-js@1.5.1(transitive)
- Removedcore-js@3.38.1(transitive)
- Removedobject-assign@4.1.1(transitive)
- Removedoidc-client@1.11.5(transitive)
- Removedrandombytes@2.1.0(transitive)
- Removedreact@17.0.2(transitive)
- Removedreact-dom@17.0.2(transitive)
- Removedsafe-buffer@5.2.1(transitive)
- Removedscheduler@0.20.2(transitive)
- Removedserialize-javascript@4.0.0(transitive)