oidc-spa 2.0.0 → 2.0.2
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 +1 -1
- package/oidc.d.ts +1 -0
- package/oidc.js +17 -7
- package/oidc.js.map +1 -1
- package/package.json +1 -1
- package/react.d.ts +2 -0
- package/react.js +2 -0
- package/react.js.map +1 -1
- package/src/oidc.ts +16 -3
- package/src/react.tsx +2 -0
package/README.md
CHANGED
|
@@ -82,7 +82,7 @@ import { createOidc, decodeJwt } from "oidc-spa";
|
|
|
82
82
|
* If your are still using `create-react-app` you can just set
|
|
83
83
|
* publicUrl to `process.env.PUBLIC_URL` and don't have to think about it further.
|
|
84
84
|
*/
|
|
85
|
-
//
|
|
85
|
+
//publicUrl: `${window.location.origin}/my-app`
|
|
86
86
|
});
|
|
87
87
|
|
|
88
88
|
if (oidc.isUserLoggedIn) {
|
package/oidc.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ export declare namespace Oidc {
|
|
|
32
32
|
refreshTokenExpirationTime: number;
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
|
+
/** @see: https://github.com/garronej/oidc-spa#option-1-usage-without-involving-the-ui-framework */
|
|
35
36
|
export declare function createOidc(params: {
|
|
36
37
|
issuerUri: string;
|
|
37
38
|
clientId: string;
|
package/oidc.js
CHANGED
|
@@ -92,14 +92,24 @@ var urlQueryParams_1 = require("./tools/urlQueryParams");
|
|
|
92
92
|
var fnv1aHashToHex_1 = require("./tools/fnv1aHashToHex");
|
|
93
93
|
var Deferred_1 = require("./tools/Deferred");
|
|
94
94
|
var paramsToRetrieveFromSuccessfulLogin = ["code", "state", "session_state"];
|
|
95
|
+
/** @see: https://github.com/garronej/oidc-spa#option-1-usage-without-involving-the-ui-framework */
|
|
95
96
|
function createOidc(params) {
|
|
96
97
|
return __awaiter(this, void 0, void 0, function () {
|
|
97
|
-
var issuerUri, clientId, _a, transformUrlBeforeRedirect, getExtraQueryParams,
|
|
98
|
+
var issuerUri, clientId, _a, transformUrlBeforeRedirect, getExtraQueryParams, publicUrl_params, publicUrl, configHash, configHashKey, userManager, login, currentTokens, common, oidc;
|
|
98
99
|
var _this = this;
|
|
99
|
-
return __generator(this, function (
|
|
100
|
-
switch (
|
|
100
|
+
return __generator(this, function (_b) {
|
|
101
|
+
switch (_b.label) {
|
|
101
102
|
case 0:
|
|
102
|
-
issuerUri = params.issuerUri, clientId = params.clientId, _a = params.transformUrlBeforeRedirect, transformUrlBeforeRedirect = _a === void 0 ? function (url) { return url; } : _a, getExtraQueryParams = params.getExtraQueryParams,
|
|
103
|
+
issuerUri = params.issuerUri, clientId = params.clientId, _a = params.transformUrlBeforeRedirect, transformUrlBeforeRedirect = _a === void 0 ? function (url) { return url; } : _a, getExtraQueryParams = params.getExtraQueryParams, publicUrl_params = params.publicUrl;
|
|
104
|
+
publicUrl = (function () {
|
|
105
|
+
if (publicUrl_params === undefined) {
|
|
106
|
+
return window.location.origin;
|
|
107
|
+
}
|
|
108
|
+
if (publicUrl_params.startsWith("http")) {
|
|
109
|
+
return publicUrl_params.replace(/\/$/, "");
|
|
110
|
+
}
|
|
111
|
+
return "".concat(window.location.origin).concat(publicUrl_params);
|
|
112
|
+
})();
|
|
103
113
|
configHash = (0, fnv1aHashToHex_1.fnv1aHashToHex)("".concat(issuerUri, " ").concat(clientId));
|
|
104
114
|
configHashKey = "configHash";
|
|
105
115
|
userManager = new oidc_client_ts_1.UserManager({
|
|
@@ -109,7 +119,7 @@ function createOidc(params) {
|
|
|
109
119
|
"response_type": "code",
|
|
110
120
|
"scope": "openid profile",
|
|
111
121
|
"automaticSilentRenew": false,
|
|
112
|
-
"silent_redirect_uri": "".concat(
|
|
122
|
+
"silent_redirect_uri": "".concat(publicUrl, "/silent-sso.html?").concat(configHashKey, "=").concat(configHash)
|
|
113
123
|
});
|
|
114
124
|
login = function (_a) {
|
|
115
125
|
var doesCurrentHrefRequiresAuth = _a.doesCurrentHrefRequiresAuth, extraQueryParams = _a.extraQueryParams;
|
|
@@ -323,7 +333,7 @@ function createOidc(params) {
|
|
|
323
333
|
return tokens;
|
|
324
334
|
})];
|
|
325
335
|
case 1:
|
|
326
|
-
currentTokens =
|
|
336
|
+
currentTokens = _b.sent();
|
|
327
337
|
common = {
|
|
328
338
|
"params": {
|
|
329
339
|
issuerUri: issuerUri,
|
|
@@ -348,7 +358,7 @@ function createOidc(params) {
|
|
|
348
358
|
case "current page":
|
|
349
359
|
return window.location.href;
|
|
350
360
|
case "home":
|
|
351
|
-
return
|
|
361
|
+
return publicUrl;
|
|
352
362
|
case "specific url":
|
|
353
363
|
return params.url;
|
|
354
364
|
}
|
package/oidc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["src/oidc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAwD;AACxD,+BAA8B;AAC9B,2EAA0E;AAC1E,uCAAmD;AACnD,yDAAuF;AACvF,yDAAwD;AACxD,6CAA4C;AAsC5C,IAAM,mCAAmC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAU,CAAC;AAExF,SAAsB,UAAU,CAAC,MAmBhC;;;;;;;oBAEO,SAAS,GAKT,MAAM,UALG,EACT,QAAQ,GAIR,MAAM,SAJE,EACR,KAGA,MAAM,2BAHiC,EAAvC,0BAA0B,mBAAG,UAAA,GAAG,IAAI,OAAA,GAAG,EAAH,CAAG,KAAA,EACvC,mBAAmB,GAEnB,MAAM,oBAFa,
|
|
1
|
+
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["src/oidc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAwD;AACxD,+BAA8B;AAC9B,2EAA0E;AAC1E,uCAAmD;AACnD,yDAAuF;AACvF,yDAAwD;AACxD,6CAA4C;AAsC5C,IAAM,mCAAmC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAU,CAAC;AAExF,mGAAmG;AACnG,SAAsB,UAAU,CAAC,MAmBhC;;;;;;;oBAEO,SAAS,GAKT,MAAM,UALG,EACT,QAAQ,GAIR,MAAM,SAJE,EACR,KAGA,MAAM,2BAHiC,EAAvC,0BAA0B,mBAAG,UAAA,GAAG,IAAI,OAAA,GAAG,EAAH,CAAG,KAAA,EACvC,mBAAmB,GAEnB,MAAM,oBAFa,EACR,gBAAgB,GAC3B,MAAM,UADqB,CACpB;oBAEL,SAAS,GAAG,CAAC;wBACf,IAAI,gBAAgB,KAAK,SAAS,EAAE;4BAChC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;yBACjC;wBAED,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;4BACrC,OAAO,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;yBAC9C;wBAED,OAAO,UAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,SAAG,gBAAgB,CAAE,CAAC;oBAC1D,CAAC,CAAC,EAAE,CAAC;oBAEC,UAAU,GAAG,IAAA,+BAAc,EAAC,UAAG,SAAS,cAAI,QAAQ,CAAE,CAAC,CAAC;oBACxD,aAAa,GAAG,YAAY,CAAC;oBAE7B,WAAW,GAAG,IAAI,4BAAW,CAAC;wBAChC,WAAW,EAAE,SAAS;wBACtB,WAAW,EAAE,QAAQ;wBACrB,cAAc,EAAE,EAAE,CAAC,iCAAiC;wBACpD,eAAe,EAAE,MAAM;wBACvB,OAAO,EAAE,gBAAgB;wBACzB,sBAAsB,EAAE,KAAK;wBAC7B,qBAAqB,EAAE,UAAG,SAAS,8BAAoB,aAAa,cAAI,UAAU,CAAE;qBACvF,CAAC,CAAC;oBAEG,KAAK,GAA8B,UAAO,EAG/C;4BAFG,2BAA2B,iCAAA,EAC3B,gBAAgB,sBAAA;;4BAShB,SAAS,GAAG;gCAAC,cAA+C;qCAA/C,UAA+C,EAA/C,qBAA+C,EAA/C,IAA+C;oCAA/C,yBAA+C;;gCACxD,IAAM,WAAW,QAAO,QAAQ,YAAR,QAAQ,iCAAI,IAAI,aAAC,CAAC;gCAE1C,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE;oCAC1B,KAAK,EAAE,UAAC,MAAM,EAAE,IAAI;wCAChB,IAAI,IAAI,KAAK,MAAM,EAAE;4CACjB,IAAI,KAAG,GAAG,WAAW,CAAC,IAAI,CAAC;4CAE3B,MAAM,CAAC,OAAO,uBACP,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,EAAI,GACvB,gBAAgB,EACrB,CAAC,OAAO,CACN,UAAC,EAAa;oDAAb,KAAA,aAAa,EAAZ,IAAI,QAAA,EAAE,KAAK,QAAA;gDACT,OAAA,CAAC,KAAG,GAAG,IAAA,mCAAkB,EAAC;oDACtB,GAAG,OAAA;oDACH,IAAI,MAAA;oDACJ,KAAK,OAAA;iDACR,CAAC,CAAC,MAAM,CAAC;4CAJV,CAIU,CACjB,CAAC;4CAEF,KAAG,GAAG,0BAA0B,CAAC,KAAG,CAAC,CAAC;4CAEtC,OAAO,KAAG,CAAC;yCACd;wCAED,kBAAkB;wCAClB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;oCACxB,CAAC;iCACJ,CAAC,CAAC;4BACP,CAAC;;;;;wCA/BK,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;wCAiC5B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;wCAEvC,YAAY,GAAK,IAAA,mCAAkB,EAAC;4CAChD,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;4CAC3B,MAAM,EAAE,aAAa;4CACrB,OAAO,EAAE,UAAU;yCACtB,CAAC,OAJ0B,CAIzB;wCAEH,qBAAM,WAAW,CAAC,cAAc,CAAC;gDAC7B,YAAY,cAAA;gDACZ,gBAAgB,EAAE,2BAA2B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;6CACvE,CAAC,EAAA;;wCAHF,SAGE,CAAC;wCACH,sBAAO,IAAI,OAAO,CAAQ,cAAO,CAAC,CAAC,EAAC;;;;qBACvC,CAAC;oBAEoB,qBAAM,CAAC,SAAe,OAAO;;;;;;;4CAEvC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;4CAE/B;gDACU,MAAM,GAAG,IAAA,0CAAyB,EAAC,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;gDAEzE,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE;oDACnD,wBAAyC;iDAC5C;gDAED,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;6CACvB;4CAED;gDACU,MAAM,GAAG,IAAA,0CAAyB,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;gDAEnE,IAAI,MAAM,CAAC,UAAU,EAAE;oDACnB,MAAM,IAAI,KAAK,CAAC,sBAAe,MAAM,CAAC,KAAK,CAAE,CAAC,CAAC;iDAClD;6CACJ;4CAEG,eAAe,GAAG,mBAAmB,CAAC;;gDAE1C,KAAmB,wCAAA,SAAA,mCAAmC,CAAA,iOAAE;oDAAnD;oDACK,MAAM,GAAG,IAAA,0CAAyB,EAAC,EAAE,IAAI,QAAA,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;oDAExD,IAAA,eAAM,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oDAE1B,eAAe,GAAG,IAAA,mCAAkB,EAAC;wDACjC,KAAK,EAAE,eAAe;wDACtB,MAAM,EAAE,MAAI;wDACZ,OAAO,EAAE,MAAM,CAAC,KAAK;qDACxB,CAAC,CAAC,MAAM,CAAC;oDAEV,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;iDACvB;;;;;;;;;4CAED,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;4CAEpC,IAAI,GAAqB,SAAS,CAAC;;;;4CAG5B,qBAAM,WAAW,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAA;;4CAAhE,IAAI,GAAG,SAAyD,CAAC;;;;4CAEjE,0EAA0E;4CAC1E,sBAAO,SAAS,EAAC;gDAGrB,sBAAO,IAAI,EAAC;gDAIC,qBAAM,WAAW,CAAC,OAAO,EAAE,EAAA;;4CAAlC,IAAI,GAAG,SAA2B;4CAExC,IAAI,IAAI,KAAK,IAAI,EAAE;gDACf,yBAA2B;6CAC9B;;;;4CAIG,qBAAM,WAAW,CAAC,YAAY,EAAE,EAAA;;4CAAhC,SAAgC,CAAC;;;;4CAEjC,sBAAO,SAAS,EAAC;iDAGrB,sBAAO,IAAI,EAAC;;4CAIN,qBAAmB,IAAI,mBAAQ,EAAsB,CAAC;4CAEtD,YAAU,UAAU,CACtB;gDACI,OAAA,kBAAgB,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,kDAA2C,QAAQ,CAAE,CAAC,CACnE;4CAFD,CAEC,EACL,IAAI,CACP,CAAC;4CAEI,aAAW,UAAC,KAAmB;;gDACjC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;oDAC3E,OAAO;iDACV;gDAED,IAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;gDAEvB;oDACI,IAAI,MAAM,SAA8C,CAAC;oDAEzD,IAAI;wDACA,MAAM,GAAG,IAAA,0CAAyB,EAAC,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;qDACtE;oDAAC,WAAM;wDACJ,wDAAwD;wDACxD,OAAO;qDACV;oDAED,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE;wDACnD,OAAO;qDACV;iDACJ;gDAED,YAAY,CAAC,SAAO,CAAC,CAAC;gDAEtB,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAQ,CAAC,CAAC;gDAEhD;oDACI,IAAM,MAAM,GAAG,IAAA,0CAAyB,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;oDAEnE,IAAI,MAAM,CAAC,UAAU,EAAE;wDACnB,kBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wDACpC,OAAO;qDACV;iDACJ;gDAED,IAAI,eAAe,GAAG,mBAAmB,CAAC;;oDAE1C,KAAmB,IAAA,wCAAA,SAAA,mCAAmC,CAAA,wFAAA,yIAAE;wDAAnD,IAAM,MAAI,gDAAA;wDACX,IAAM,MAAM,GAAG,IAAA,0CAAyB,EAAC,EAAE,IAAI,QAAA,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;wDAExD,IAAA,eAAM,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wDAE1B,eAAe,GAAG,IAAA,mCAAkB,EAAC;4DACjC,KAAK,EAAE,eAAe;4DACtB,MAAM,EAAE,MAAI;4DACZ,OAAO,EAAE,MAAM,CAAC,KAAK;yDACxB,CAAC,CAAC,MAAM,CAAC;qDACb;;;;;;;;;gDAED,kBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;4CAC9C,CAAC,CAAC;4CAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAQ,EAAE,KAAK,CAAC,CAAC;4CAEpD,WAAW,CAAC,YAAY,CAAC,EAAE,+BAA+B,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;gDACnE,oBAAoB;4CACxB,CAAC,CAAC,CAAC;4CAEqB,qBAAM,kBAAgB,CAAC,EAAE,EAAA;;4CAA3C,eAAe,GAAG,SAAyB;4CAEjD,IAAI,eAAe,KAAK,SAAS,EAAE;gDAC/B,yBAAoC;6CACvC;4CAEY,qBAAM,WAAW,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAA;;4CAAhE,IAAI,GAAG,SAAyD;4CAEtE,sBAAO,IAAI,EAAC;iDAGhB,sBAAO,SAAS,EAAC;;;;yBACpB,CAAC,EAAE,CAAC,IAAI,CAAC,UAAA,IAAI;4BACV,IAAI,IAAI,KAAK,SAAS,EAAE;gCACpB,OAAO,SAAS,CAAC;6BACpB;4BAED,IAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;4BAElC,IAAI,MAAM,CAAC,0BAA0B,GAAG,MAAM,CAAC,yBAAyB,EAAE;gCACtE,OAAO,CAAC,IAAI,CACR;oCACI,kEAAkE;oCAClE,uDAAuD;oCACvD,mDAA4C,QAAQ,cAAI,SAAS,CAAE;iCACtE,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;6BACL;4BAED,OAAO,MAAM,CAAC;wBAClB,CAAC,CAAC,EAAA;;oBAxKI,aAAa,GAAG,SAwKpB;oBAEI,MAAM,GAAgB;wBACxB,QAAQ,EAAE;4BACN,SAAS,WAAA;4BACT,QAAQ,UAAA;yBACX;qBACJ,CAAC;oBAEF,IAAI,aAAa,KAAK,SAAS,EAAE;wBAC7B,sBAAO,IAAA,OAAE,wBACF,MAAM,KACT,gBAAgB,EAAE,KAAK,EACvB,KAAK,OAAA,IACP,EAAC;qBACN;oBAEK,IAAI,GAAG,IAAA,OAAE,wBACR,MAAM,KACT,gBAAgB,EAAE,IAAI,EACtB,WAAW,EAAE,cAAM,OAAA,CAAC;4BAChB,aAAa,EAAE,aAAa,CAAC,WAAW;4BACxC,SAAS,EAAE,aAAa,CAAC,OAAO;4BAChC,cAAc,EAAE,aAAa,CAAC,YAAY;4BAC1C,4BAA4B,EAAE,aAAa,CAAC,0BAA0B;4BACtE,2BAA2B,EAAE,aAAa,CAAC,yBAAyB;yBACvE,CAAC,EANiB,CAMjB,EACF,QAAQ,EAAE,UAAM,MAAM;;;4CAClB,qBAAM,WAAW,CAAC,eAAe,CAAC;4CAC9B,0BAA0B,EAAE,CAAC;gDACzB,QAAQ,MAAM,CAAC,UAAU,EAAE;oDACvB,KAAK,cAAc;wDACf,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oDAChC,KAAK,MAAM;wDACP,OAAO,SAAS,CAAC;oDACrB,KAAK,cAAc;wDACf,OAAO,MAAM,CAAC,GAAG,CAAC;iDACzB;gDACD,IAAA,eAAM,EAA+B,KAAK,CAAC,CAAC;4CAChD,CAAC,CAAC,EAAE;yCACP,CAAC,EAAA;;wCAZF,SAYE,CAAC;wCACH,sBAAO,IAAI,OAAO,CAAQ,cAAO,CAAC,CAAC,EAAC;;;6BACvC,EACD,aAAa,EAAE;;;;4CACE,qBAAM,WAAW,CAAC,YAAY,EAAE,EAAA;;wCAAvC,IAAI,GAAG,SAAgC;wCAE7C,IAAA,eAAM,EAAC,IAAI,KAAK,IAAI,CAAC,CAAC;wCAEtB,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;;;;6BACpD,IACH,CAAC;oBAEH,CAAC,SAAS,sBAAsB;wBAA/B,iBAcA;wBAbG,IAAM,kBAAkB,GACpB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,yBAAyB,EAAE,aAAa,CAAC,0BAA0B,CAAC;4BAC3F,IAAI,CAAC,GAAG,EAAE,CAAC;wBAEf,UAAU,CAAC;;;;;;wCAEH,qBAAM,IAAI,CAAC,WAAW,EAAE,EAAA;;wCAAxB,SAAwB,CAAC;;;;wCAEzB,qBAAM,KAAK,CAAC,EAAE,6BAA6B,EAAE,IAAI,EAAE,CAAC,EAAA;;wCAApD,SAAoD,CAAC;;;wCAGzD,sBAAsB,EAAE,CAAC;;;;6BAC5B,EAAE,kBAAkB,GAAG,6BAA6B,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;oBACrE,CAAC,CAAC,EAAE,CAAC;oBAEL,sBAAO,IAAI,EAAC;;;;CACf;AA3VD,gCA2VC;AAED,SAAS,YAAY,CAAC,IAAU;IAC5B,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;IAEtC,IAAM,yBAAyB,GAAG,CAAC;QAC/B,kBAAkB,EAAE;YACR,IAAA,UAAU,GAAK,IAAI,WAAT,CAAU;YAE5B,IAAI,UAAU,KAAK,SAAS,EAAE;gBAC1B,MAAM,kBAAkB,CAAC;aAC5B;YAED,OAAO,UAAU,GAAG,IAAI,CAAC;SAC5B;QAED,aAAa,EAAE;YACX,IAAM,cAAc,GAAG,IAAA,iDAAuB,EAAC,WAAW,CAAC,CAAC;YAE5D,IAAI,cAAc,KAAK,SAAS,EAAE;gBAC9B,MAAM,aAAa,CAAC;aACvB;YAED,OAAO,cAAc,CAAC;SACzB;QAED,IAAA,eAAM,EAAC,KAAK,EAAE,4CAA4C,CAAC,CAAC;IAChE,CAAC,CAAC,EAAE,CAAC;IAEL,IAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;IAExC,IAAA,eAAM,EAAC,YAAY,KAAK,SAAS,EAAE,8CAA8C,CAAC,CAAC;IAEnF,IAAM,0BAA0B,GAAG,CAAC;QAChC,aAAa,EAAE;YACX,IAAM,cAAc,GAAG,IAAA,iDAAuB,EAAC,YAAY,CAAC,CAAC;YAE7D,IAAI,cAAc,KAAK,SAAS,EAAE;gBAC9B,MAAM,aAAa,CAAC;aACvB;YAED,OAAO,cAAc,CAAC;SACzB;QAED,IAAA,eAAM,EAAC,KAAK,EAAE,6CAA6C,CAAC,CAAC;IACjE,CAAC,CAAC,EAAE,CAAC;IAEL,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;IAE9B,IAAA,eAAM,EAAC,OAAO,KAAK,SAAS,EAAE,yCAAyC,CAAC,CAAC;IAEzE,OAAO;QACH,WAAW,aAAA;QACX,yBAAyB,2BAAA;QACzB,YAAY,cAAA;QACZ,0BAA0B,4BAAA;QAC1B,OAAO,SAAA;KACV,CAAC;AACN,CAAC"}
|
package/package.json
CHANGED
package/react.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
2
|
import { createOidc, type Oidc } from "./oidc";
|
|
3
|
+
/** @see: https://github.com/garronej/oidc-spa#option-2-usage-directly-within-react */
|
|
3
4
|
export declare function createOidcProvider(params: Parameters<typeof createOidc>[0]): {
|
|
4
5
|
OidcProvider: (props: {
|
|
5
6
|
fallback?: ReactNode;
|
|
6
7
|
children: ReactNode;
|
|
7
8
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
8
9
|
};
|
|
10
|
+
/** @see: https://github.com/garronej/oidc-spa#option-2-usage-directly-within-react */
|
|
9
11
|
export declare function useOidc(): {
|
|
10
12
|
oidc: Oidc;
|
|
11
13
|
};
|
package/react.js
CHANGED
|
@@ -33,6 +33,7 @@ var react_1 = require("react");
|
|
|
33
33
|
var oidc_1 = require("./oidc");
|
|
34
34
|
var assert_1 = require("tsafe/assert");
|
|
35
35
|
var oidcClientContext = (0, react_1.createContext)(undefined);
|
|
36
|
+
/** @see: https://github.com/garronej/oidc-spa#option-2-usage-directly-within-react */
|
|
36
37
|
function createOidcProvider(params) {
|
|
37
38
|
var prOidc = (0, oidc_1.createOidc)(params);
|
|
38
39
|
function OidcProvider(props) {
|
|
@@ -49,6 +50,7 @@ function createOidcProvider(params) {
|
|
|
49
50
|
return { OidcProvider: OidcProvider };
|
|
50
51
|
}
|
|
51
52
|
exports.createOidcProvider = createOidcProvider;
|
|
53
|
+
/** @see: https://github.com/garronej/oidc-spa#option-2-usage-directly-within-react */
|
|
52
54
|
function useOidc() {
|
|
53
55
|
var oidc = (0, react_1.useContext)(oidcClientContext);
|
|
54
56
|
(0, assert_1.assert)(oidc !== undefined, "You must use useOidc inside a OidcClientProvider");
|
package/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["src/react.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAuF;AACvF,+BAA+C;AAC/C,uCAAsC;AAEtC,IAAM,iBAAiB,GAAG,IAAA,qBAAa,EAAmB,SAAS,CAAC,CAAC;AAErE,SAAgB,kBAAkB,CAAC,MAAwC;IACvE,IAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,MAAM,CAAC,CAAC;IAElC,SAAS,YAAY,CAAC,KAAoD;QAC9D,IAAA,QAAQ,GAAe,KAAK,SAApB,EAAE,QAAQ,GAAK,KAAK,SAAV,CAAW;QAE/B,IAAA,KAAA,OAA8B,IAAA,gBAAQ,EAAmB,SAAS,CAAC,IAAA,EAAlE,UAAU,QAAA,EAAE,aAAa,QAAyC,CAAC;QAE1E,IAAA,iBAAS,EAAC;YACN,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,UAAU,KAAK,SAAS,EAAE;YAC1B,OAAO,2DAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAI,CAAC;SAC1D;QAED,OAAO,uBAAC,iBAAiB,CAAC,QAAQ,aAAC,KAAK,EAAE,UAAU,gBAAG,QAAQ,IAA8B,CAAC;IAClG,CAAC;IAED,OAAO,EAAE,YAAY,cAAA,EAAE,CAAC;AAC5B,CAAC;AApBD,gDAoBC;AAED,SAAgB,OAAO;IACnB,IAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,iBAAiB,CAAC,CAAC;IAC3C,IAAA,eAAM,EAAC,IAAI,KAAK,SAAS,EAAE,kDAAkD,CAAC,CAAC;IAC/E,OAAO,EAAE,IAAI,MAAA,EAAE,CAAC;AACpB,CAAC;AAJD,0BAIC"}
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["src/react.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAuF;AACvF,+BAA+C;AAC/C,uCAAsC;AAEtC,IAAM,iBAAiB,GAAG,IAAA,qBAAa,EAAmB,SAAS,CAAC,CAAC;AAErE,sFAAsF;AACtF,SAAgB,kBAAkB,CAAC,MAAwC;IACvE,IAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,MAAM,CAAC,CAAC;IAElC,SAAS,YAAY,CAAC,KAAoD;QAC9D,IAAA,QAAQ,GAAe,KAAK,SAApB,EAAE,QAAQ,GAAK,KAAK,SAAV,CAAW;QAE/B,IAAA,KAAA,OAA8B,IAAA,gBAAQ,EAAmB,SAAS,CAAC,IAAA,EAAlE,UAAU,QAAA,EAAE,aAAa,QAAyC,CAAC;QAE1E,IAAA,iBAAS,EAAC;YACN,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,UAAU,KAAK,SAAS,EAAE;YAC1B,OAAO,2DAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAI,CAAC;SAC1D;QAED,OAAO,uBAAC,iBAAiB,CAAC,QAAQ,aAAC,KAAK,EAAE,UAAU,gBAAG,QAAQ,IAA8B,CAAC;IAClG,CAAC;IAED,OAAO,EAAE,YAAY,cAAA,EAAE,CAAC;AAC5B,CAAC;AApBD,gDAoBC;AAED,sFAAsF;AACtF,SAAgB,OAAO;IACnB,IAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,iBAAiB,CAAC,CAAC;IAC3C,IAAA,eAAM,EAAC,IAAI,KAAK,SAAS,EAAE,kDAAkD,CAAC,CAAC;IAC/E,OAAO,EAAE,IAAI,MAAA,EAAE,CAAC;AACpB,CAAC;AAJD,0BAIC"}
|
package/src/oidc.ts
CHANGED
|
@@ -44,6 +44,7 @@ export declare namespace Oidc {
|
|
|
44
44
|
|
|
45
45
|
const paramsToRetrieveFromSuccessfulLogin = ["code", "state", "session_state"] as const;
|
|
46
46
|
|
|
47
|
+
/** @see: https://github.com/garronej/oidc-spa#option-1-usage-without-involving-the-ui-framework */
|
|
47
48
|
export async function createOidc(params: {
|
|
48
49
|
issuerUri: string;
|
|
49
50
|
clientId: string;
|
|
@@ -69,9 +70,21 @@ export async function createOidc(params: {
|
|
|
69
70
|
clientId,
|
|
70
71
|
transformUrlBeforeRedirect = url => url,
|
|
71
72
|
getExtraQueryParams,
|
|
72
|
-
publicUrl
|
|
73
|
+
publicUrl: publicUrl_params
|
|
73
74
|
} = params;
|
|
74
75
|
|
|
76
|
+
const publicUrl = (() => {
|
|
77
|
+
if (publicUrl_params === undefined) {
|
|
78
|
+
return window.location.origin;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (publicUrl_params.startsWith("http")) {
|
|
82
|
+
return publicUrl_params.replace(/\/$/, "");
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return `${window.location.origin}${publicUrl_params}`;
|
|
86
|
+
})();
|
|
87
|
+
|
|
75
88
|
const configHash = fnv1aHashToHex(`${issuerUri} ${clientId}`);
|
|
76
89
|
const configHashKey = "configHash";
|
|
77
90
|
|
|
@@ -82,7 +95,7 @@ export async function createOidc(params: {
|
|
|
82
95
|
"response_type": "code",
|
|
83
96
|
"scope": "openid profile",
|
|
84
97
|
"automaticSilentRenew": false,
|
|
85
|
-
"silent_redirect_uri": `${
|
|
98
|
+
"silent_redirect_uri": `${publicUrl}/silent-sso.html?${configHashKey}=${configHash}`
|
|
86
99
|
});
|
|
87
100
|
|
|
88
101
|
const login: Oidc.NotLoggedIn["login"] = async ({
|
|
@@ -344,7 +357,7 @@ export async function createOidc(params: {
|
|
|
344
357
|
case "current page":
|
|
345
358
|
return window.location.href;
|
|
346
359
|
case "home":
|
|
347
|
-
return
|
|
360
|
+
return publicUrl;
|
|
348
361
|
case "specific url":
|
|
349
362
|
return params.url;
|
|
350
363
|
}
|
package/src/react.tsx
CHANGED
|
@@ -4,6 +4,7 @@ import { assert } from "tsafe/assert";
|
|
|
4
4
|
|
|
5
5
|
const oidcClientContext = createContext<Oidc | undefined>(undefined);
|
|
6
6
|
|
|
7
|
+
/** @see: https://github.com/garronej/oidc-spa#option-2-usage-directly-within-react */
|
|
7
8
|
export function createOidcProvider(params: Parameters<typeof createOidc>[0]) {
|
|
8
9
|
const prOidc = createOidc(params);
|
|
9
10
|
|
|
@@ -26,6 +27,7 @@ export function createOidcProvider(params: Parameters<typeof createOidc>[0]) {
|
|
|
26
27
|
return { OidcProvider };
|
|
27
28
|
}
|
|
28
29
|
|
|
30
|
+
/** @see: https://github.com/garronej/oidc-spa#option-2-usage-directly-within-react */
|
|
29
31
|
export function useOidc() {
|
|
30
32
|
const oidc = useContext(oidcClientContext);
|
|
31
33
|
assert(oidc !== undefined, "You must use useOidc inside a OidcClientProvider");
|