oidc-spa 6.9.12 → 6.9.13
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/README.md +4 -3
- package/handleOidcCallback.d.ts +1 -0
- package/handleOidcCallback.js +6 -0
- package/handleOidcCallback.js.map +1 -0
- package/oidc/createOidc.js +1 -1
- package/oidc/handleOidcCallback.js +4 -0
- package/oidc/handleOidcCallback.js.map +1 -1
- package/package.json +6 -1
- package/src/handleOidcCallback.ts +1 -0
- package/src/oidc/handleOidcCallback.ts +5 -0
package/README.md
CHANGED
|
@@ -29,7 +29,8 @@
|
|
|
29
29
|
|
|
30
30
|
A full-featured OpenID Connect / OAuth2 client for single-page applications (SPAs).
|
|
31
31
|
|
|
32
|
-
With `oidc-spa`, you can seamlessly integrate authentication providers like [Keycloak](https://www.keycloak.org/), [Auth0](https://auth0.com/), or [Microsoft Entra ID](https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id) into your application
|
|
32
|
+
With `oidc-spa`, you can seamlessly integrate authentication providers like [Keycloak](https://www.keycloak.org/), [Auth0](https://auth0.com/), or [Microsoft Entra ID](https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id) into your application, purely on the client side—
|
|
33
|
+
[without involving your backend in the token exchange](https://docs.oidc-spa.dev/resources/why-no-client-secret).
|
|
33
34
|
|
|
34
35
|
In **simple terms**, `oidc-spa` is a library that makes it easy to **add authentication** to your Vite or Create-React-App project.
|
|
35
36
|
There are many authentication and user management platforms out there: Okta, Auth0, Entra ID...
|
|
@@ -40,7 +41,7 @@ This library provides a **unified way** to connect with these different provider
|
|
|
40
41
|
their specific SDKs.
|
|
41
42
|
When a user clicks the **"Login"** button in your app, just call the `login()` method—it's that simple.
|
|
42
43
|
|
|
43
|
-
`oidc-spa` implement the **Authorization Code Flow with PKCE
|
|
44
|
+
`oidc-spa` implement the [**Authorization Code Flow with PKCE**](https://docs.oidc-spa.dev/resources/why-no-client-secret), this means that **you do not need a backend** to handle the authentication process.
|
|
44
45
|
The authentication process is handled entirely in the browser. No need for `/login` or `/logout` routes.
|
|
45
46
|
|
|
46
47
|
## Why `oidc-spa`?
|
|
@@ -73,7 +74,7 @@ We wanted a **universal solution**—one that is as good or better than all exis
|
|
|
73
74
|
- 🚪 **Logout propagation**: Logging out in one tab logs out all others.
|
|
74
75
|
- 📖 **Comprehensive documentation**: Guides and examples for common scenarios.
|
|
75
76
|
- ✅ **Type safety**: Strong TypeScript support with optional [Zod](https://zod.dev/) integration validating the expected shape of the ID token.
|
|
76
|
-
- 🔒 **Security-first**: Uses **Authorization Code Flow + PKCE
|
|
77
|
+
- 🔒 **Security-first**: Uses [**Authorization Code Flow + PKCE**](https://docs.oidc-spa.dev/resources/why-no-client-secret#id-2.-authorization-code-flow--pkce-used-by-oidc-spa)—No token persistence in `localStorage` or `sessionStorage`.
|
|
77
78
|
- 🖥️ **Optional backend utilities**: Provides tools for token validation in JavaScript backends (Node.js, Deno, Web Workers).
|
|
78
79
|
- 🔗 **Multi-instance support**: Run multiple `oidc-spa` instances—for example, to offer **Login with Google OR Microsoft** in the same app.
|
|
79
80
|
- 🍪 **No third-party cookie issues**: Third-party cookies blocked? No problem—`oidc-spa` works around it automatically with no special measures needed on your side.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { handleOidcCallback } from "./oidc/handleOidcCallback";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleOidcCallback = void 0;
|
|
4
|
+
var handleOidcCallback_1 = require("./oidc/handleOidcCallback");
|
|
5
|
+
Object.defineProperty(exports, "handleOidcCallback", { enumerable: true, get: function () { return handleOidcCallback_1.handleOidcCallback; } });
|
|
6
|
+
//# sourceMappingURL=handleOidcCallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleOidcCallback.js","sourceRoot":"","sources":["src/handleOidcCallback.ts"],"names":[],"mappings":";;;AAAA,gEAA+D;AAAtD,wHAAA,kBAAkB,OAAA"}
|
package/oidc/createOidc.js
CHANGED
|
@@ -124,7 +124,7 @@ var initialLocationHref_1 = require("./initialLocationHref");
|
|
|
124
124
|
var isNewBrowserSession_1 = require("./isNewBrowserSession");
|
|
125
125
|
(0, handleOidcCallback_1.handleOidcCallback)();
|
|
126
126
|
// NOTE: Replaced at build time
|
|
127
|
-
var VERSION = "6.9.
|
|
127
|
+
var VERSION = "6.9.13";
|
|
128
128
|
var globalContext = {
|
|
129
129
|
prOidcByConfigId: new Map(),
|
|
130
130
|
hasLogoutBeenCalled: (0, tsafe_1.id)(false),
|
|
@@ -90,6 +90,10 @@ function handleOidcCallback_nonMemoized() {
|
|
|
90
90
|
return { isHandled: false };
|
|
91
91
|
}
|
|
92
92
|
var isHandled = true;
|
|
93
|
+
console.log = function () { };
|
|
94
|
+
console.warn = function () { };
|
|
95
|
+
console.error = function () { };
|
|
96
|
+
console.debug = function () { };
|
|
93
97
|
var stateData = (0, StateData_1.getStateData)({ stateQueryParamValue: stateQueryParamValue });
|
|
94
98
|
if (stateData === undefined ||
|
|
95
99
|
(stateData.context === "redirect" && stateData.hasBeenProcessedByCallback)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleOidcCallback.js","sourceRoot":"","sources":["../src/oidc/handleOidcCallback.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,gDAMC;
|
|
1
|
+
{"version":3,"file":"handleOidcCallback.js","sourceRoot":"","sources":["../src/oidc/handleOidcCallback.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,gDAMC;AAkJD,4FA+BC;AArMD,yCAKqB;AACrB,kDAAsD;AAEtD,6DAA4D;AAE5D,IAAM,aAAa,GAAG;IAClB,YAAY,EAAE,IAAA,UAAE,EAAqC,SAAS,CAAC;CAClE,CAAC;AAEF,SAAgB,kBAAkB;IAC9B,IAAI,aAAa,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO,aAAa,CAAC,YAAY,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,aAAa,CAAC,YAAY,GAAG,8BAA8B,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,8BAA8B;;IACnC,IAAM,eAAe,GAAG,IAAI,GAAG,CAAC,yCAAmB,CAAC,CAAC;IAErD,IAAM,oBAAoB,GAAG,CAAC;QAC1B,IAAM,oBAAoB,GAAG,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEvE,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,IAAA,oCAAwB,EAAC,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC;YACjF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IACI,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI;YACtD,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,IAAI;YAC1D,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,EAC3D,CAAC;YACC,mFAAmF;YACnF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,oBAAoB,CAAC;IAChC,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACrC,IAAM,kBAAkB,GAAG,sBAAsB,EAAE,CAAC;QAEpD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnC,uBAAuB,CAAC;gBACpB,kBAAkB,wBACX,kBAAkB,KACrB,iBAAiB,EAAE,IAAI,GAC1B;aACJ,CAAC,CAAC;QACP,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,IAAM,SAAS,GAAG,IAAI,CAAC;IAEvB,OAAO,CAAC,GAAG,GAAG,cAAO,CAAC,CAAC;IACvB,OAAO,CAAC,IAAI,GAAG,cAAO,CAAC,CAAC;IACxB,OAAO,CAAC,KAAK,GAAG,cAAO,CAAC,CAAC;IACzB,OAAO,CAAC,KAAK,GAAG,cAAO,CAAC,CAAC;IAEzB,IAAM,SAAS,GAAG,IAAA,wBAAY,EAAC,EAAE,oBAAoB,sBAAA,EAAE,CAAC,CAAC;IAEzD,IACI,SAAS,KAAK,SAAS;QACvB,CAAC,SAAS,CAAC,OAAO,KAAK,UAAU,IAAI,SAAS,CAAC,0BAA0B,CAAC,EAC5E,CAAC;QACC,yBAAyB,EAAE,CAAC;QAE5B,IAAM,aAAa,GAAuB,CAAC;YACvC,IAAM,kBAAkB,GAAG,sBAAsB,EAAE,CAAC;YAEpD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBACnC,OAAO,MAAM,CAAC;YAClB,CAAC;YAED,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,CAAC;gBACxC,OAAO,kBAAkB,CAAC,qBAAqB,CAAC;YACpD,CAAC;YAED,QAAQ,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;gBAC/C,KAAK,MAAM;oBACP,OAAO,SAAS,CAAC;gBACrB,KAAK,SAAS;oBACV,OAAO,MAAM,CAAC;YACtB,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;QAEL,uBAAuB,CAAC;YACpB,kBAAkB,EAAE;gBAChB,qBAAqB,EAAE,aAAa;gBACpC,iBAAiB,EAAE,KAAK;aAC3B;SACJ,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAEhC,OAAO,EAAE,SAAS,WAAA,EAAE,CAAC;IACzB,CAAC;IAED,IAAM,YAAY,GAAiB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;;QAEjD,KAA2B,IAAA,KAAA,SAAA,eAAe,CAAC,YAAY,CAAA,gBAAA,4BAAE,CAAC;YAA/C,IAAA,KAAA,mBAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YAClB,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC9B,CAAC;;;;;;;;;IAED,IAAA,cAAM,EAAC,YAAY,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IAElC,QAAQ,SAAS,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,QAAQ;YACT,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM;QACV,KAAK,UAAU;YACX,yBAAyB,EAAE,CAAC;YAC5B,IAAA,8CAAkC,EAAC,EAAE,oBAAoB,sBAAA,EAAE,CAAC,CAAC;YAC7D,uBAAuB,EAAE,CAAC;YAC1B,0BAA0B,CAAC;gBACvB,aAAa,yCAAM,yBAAyB,EAAE,YAAE,YAAY,SAAC;aAChE,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,GAAG,CAAC;gBACb,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,IAAI,YAAY,CAAC,KAAK,KAAK,kBAAkB,EAAE,CAAC;oBAC5E,OAAO,SAAS,CAAC,+BAA+B,CAAC;gBACrD,CAAC;gBAED,OAAO,SAAS,CAAC,WAAW,CAAC;YACjC,CAAC,CAAC,EAAE,CAAC;YACL,MAAM;IACd,CAAC;IAED,OAAO,EAAE,SAAS,WAAA,EAAE,CAAC;AACzB,CAAC;AAEK,IAAA,KAA4D,CAAC;IAC/D,IAAM,kBAAkB,GAAG,wBAAwB,CAAC;IAEpD,SAAS,0BAA0B,CAAC,MAAyC;QACjE,IAAA,aAAa,GAAK,MAAM,cAAX,CAAY;QACjC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,cAAc,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC9C,OAAO;QACX,CAAC;QACD,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,SAAS,yBAAyB;QAC9B,IAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEvD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,0BAA0B,4BAAA,EAAE,yBAAyB,2BAAA,EAAE,CAAC;AACrE,CAAC,CAAC,EAAE,EAvBI,yBAAyB,+BAAA,EAAE,0BAA0B,gCAuBzD,CAAC;AAEL,SAAgB,wCAAwC,CAAC,MAExD;;IACW,IAAA,QAAQ,GAAK,MAAM,SAAX,CAAY;IAE5B,IAAM,aAAa,GAAG,yBAAyB,EAAE,CAAC;IAElD,IAAI,wBAAwB,GAEV,SAAS,CAAC;;QAE5B,KAA2B,IAAA,KAAA,kCAAI,aAAa,UAAC,gBAAA,4BAAE,CAAC;YAA3C,IAAM,YAAY,WAAA;YACnB,IAAM,SAAS,GAAG,IAAA,wBAAY,EAAC,EAAE,oBAAoB,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;YAE7E,IAAA,cAAM,EAAC,SAAS,KAAK,SAAS,CAAC,CAAC;YAChC,IAAA,cAAM,EAAC,SAAS,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC;YAEzC,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAClC,SAAS;YACb,CAAC;YAED,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;YAE7D,wBAAwB,GAAG,EAAE,YAAY,cAAA,EAAE,SAAS,WAAA,EAAE,CAAC;QAC3D,CAAC;;;;;;;;;IAED,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;QACzC,0BAA0B,CAAC,EAAE,aAAa,eAAA,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,wBAAwB,CAAC;AACpC,CAAC;AAED,SAAS,yBAAyB;IAC9B,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChC,QAAQ,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;AACP,CAAC;AAEK,IAAA,KAA+E,CAAC;IAClF,IAAM,2BAA2B,GAAG,wCAAwC,CAAC;IAO7E,SAAS,uBAAuB,CAAC,MAAkD;QACvE,IAAA,kBAAkB,GAAK,MAAM,mBAAX,CAAY;QAEtC,cAAc,CAAC,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,SAAS,sBAAsB;QAC3B,IAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAEhE,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,SAAS,uBAAuB;QAC5B,cAAc,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,EAAE,uBAAuB,yBAAA,EAAE,sBAAsB,wBAAA,EAAE,uBAAuB,yBAAA,EAAE,CAAC;AACxF,CAAC,CAAC,EAAE,EA7BI,uBAAuB,6BAAA,EAAE,sBAAsB,4BAAA,EAAE,uBAAuB,6BA6B5E,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oidc-spa",
|
|
3
|
-
"version": "6.9.
|
|
3
|
+
"version": "6.9.13",
|
|
4
4
|
"description": "Openidconnect client for Single Page Applications",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"exports": {
|
|
12
12
|
".": "./index.js",
|
|
13
13
|
"./backend": "./backend.js",
|
|
14
|
+
"./handleOidcCallback": "./handleOidcCallback.js",
|
|
14
15
|
"./index": "./index.js",
|
|
15
16
|
"./mock/index": "./mock/index.js",
|
|
16
17
|
"./mock/oidc": "./mock/oidc.js",
|
|
@@ -83,6 +84,7 @@
|
|
|
83
84
|
"license": "MIT",
|
|
84
85
|
"files": [
|
|
85
86
|
"./src/backend.ts",
|
|
87
|
+
"./src/handleOidcCallback.ts",
|
|
86
88
|
"./src/index.ts",
|
|
87
89
|
"./src/mock/index.ts",
|
|
88
90
|
"./src/mock/oidc.ts",
|
|
@@ -141,6 +143,9 @@
|
|
|
141
143
|
"./backend.d.ts",
|
|
142
144
|
"./backend.js",
|
|
143
145
|
"./backend.js.map",
|
|
146
|
+
"./handleOidcCallback.d.ts",
|
|
147
|
+
"./handleOidcCallback.js",
|
|
148
|
+
"./handleOidcCallback.js.map",
|
|
144
149
|
"./index.d.ts",
|
|
145
150
|
"./index.js",
|
|
146
151
|
"./index.js.map",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { handleOidcCallback } from "./oidc/handleOidcCallback";
|
|
@@ -63,6 +63,11 @@ function handleOidcCallback_nonMemoized(): { isHandled: boolean } {
|
|
|
63
63
|
|
|
64
64
|
const isHandled = true;
|
|
65
65
|
|
|
66
|
+
console.log = () => {};
|
|
67
|
+
console.warn = () => {};
|
|
68
|
+
console.error = () => {};
|
|
69
|
+
console.debug = () => {};
|
|
70
|
+
|
|
66
71
|
const stateData = getStateData({ stateQueryParamValue });
|
|
67
72
|
|
|
68
73
|
if (
|