@axa-fr/react-oidc 5.7.0-alpha0
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 +502 -0
- package/dist/FetchToken.d.ts +10 -0
- package/dist/FetchToken.d.ts.map +1 -0
- package/dist/FetchToken.js +107 -0
- package/dist/FetchToken.js.map +1 -0
- package/dist/OidcProvider.d.ts +25 -0
- package/dist/OidcProvider.d.ts.map +1 -0
- package/dist/OidcProvider.js +133 -0
- package/dist/OidcProvider.js.map +1 -0
- package/dist/OidcSecure.d.ts +10 -0
- package/dist/OidcSecure.d.ts.map +1 -0
- package/dist/OidcSecure.js +68 -0
- package/dist/OidcSecure.js.map +1 -0
- package/dist/OidcServiceWorker.js +272 -0
- package/dist/OidcTrustedDomains.js +6 -0
- package/dist/ReactOidc.d.ts +17 -0
- package/dist/ReactOidc.d.ts.map +1 -0
- package/dist/ReactOidc.js +106 -0
- package/dist/ReactOidc.js.map +1 -0
- package/dist/User.d.ts +15 -0
- package/dist/User.d.ts.map +1 -0
- package/dist/User.js +48 -0
- package/dist/User.js.map +1 -0
- package/dist/core/default-component/AuthenticateError.component.d.ts +4 -0
- package/dist/core/default-component/AuthenticateError.component.d.ts.map +1 -0
- package/dist/core/default-component/AuthenticateError.component.js +32 -0
- package/dist/core/default-component/AuthenticateError.component.js.map +1 -0
- package/dist/core/default-component/Authenticating.component.d.ts +4 -0
- package/dist/core/default-component/Authenticating.component.d.ts.map +1 -0
- package/dist/core/default-component/Authenticating.component.js +32 -0
- package/dist/core/default-component/Authenticating.component.js.map +1 -0
- package/dist/core/default-component/Callback.component.d.ts +5 -0
- package/dist/core/default-component/Callback.component.d.ts.map +1 -0
- package/dist/core/default-component/Callback.component.js +118 -0
- package/dist/core/default-component/Callback.component.js.map +1 -0
- package/dist/core/default-component/Loading.component.d.ts +4 -0
- package/dist/core/default-component/Loading.component.d.ts.map +1 -0
- package/dist/core/default-component/Loading.component.js +29 -0
- package/dist/core/default-component/Loading.component.js.map +1 -0
- package/dist/core/default-component/ServiceWorkerInstall.component.d.ts +4 -0
- package/dist/core/default-component/ServiceWorkerInstall.component.d.ts.map +1 -0
- package/dist/core/default-component/ServiceWorkerInstall.component.js +122 -0
- package/dist/core/default-component/ServiceWorkerInstall.component.js.map +1 -0
- package/dist/core/default-component/ServiceWorkerNotSupported.component.d.ts +4 -0
- package/dist/core/default-component/ServiceWorkerNotSupported.component.d.ts.map +1 -0
- package/dist/core/default-component/ServiceWorkerNotSupported.component.js +32 -0
- package/dist/core/default-component/ServiceWorkerNotSupported.component.js.map +1 -0
- package/dist/core/default-component/SessionLost.component.d.ts +4 -0
- package/dist/core/default-component/SessionLost.component.d.ts.map +1 -0
- package/dist/core/default-component/SessionLost.component.js +14 -0
- package/dist/core/default-component/SessionLost.component.js.map +1 -0
- package/dist/core/default-component/SilentCallback.component.d.ts +4 -0
- package/dist/core/default-component/SilentCallback.component.d.ts.map +1 -0
- package/dist/core/default-component/SilentCallback.component.js +96 -0
- package/dist/core/default-component/SilentCallback.component.js.map +1 -0
- package/dist/core/default-component/index.d.ts +7 -0
- package/dist/core/default-component/index.d.ts.map +1 -0
- package/dist/core/default-component/index.js +20 -0
- package/dist/core/default-component/index.js.map +1 -0
- package/dist/core/routes/OidcRoutes.d.ts +12 -0
- package/dist/core/routes/OidcRoutes.d.ts.map +1 -0
- package/dist/core/routes/OidcRoutes.js +71 -0
- package/dist/core/routes/OidcRoutes.js.map +1 -0
- package/dist/core/routes/index.d.ts +3 -0
- package/dist/core/routes/index.d.ts.map +1 -0
- package/dist/core/routes/index.js +9 -0
- package/dist/core/routes/index.js.map +1 -0
- package/dist/core/routes/route-utils.d.ts +2 -0
- package/dist/core/routes/route-utils.d.ts.map +1 -0
- package/dist/core/routes/route-utils.js +32 -0
- package/dist/core/routes/route-utils.js.map +1 -0
- package/dist/core/routes/withRouter.d.ts +19 -0
- package/dist/core/routes/withRouter.d.ts.map +1 -0
- package/dist/core/routes/withRouter.js +33 -0
- package/dist/core/routes/withRouter.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/vanilla/index.d.ts +2 -0
- package/dist/vanilla/index.d.ts.map +1 -0
- package/dist/vanilla/index.js +6 -0
- package/dist/vanilla/index.js.map +1 -0
- package/dist/vanilla/initSession.d.ts +11 -0
- package/dist/vanilla/initSession.d.ts.map +1 -0
- package/dist/vanilla/initSession.js +72 -0
- package/dist/vanilla/initSession.js.map +1 -0
- package/dist/vanilla/initWorker.d.ts +13 -0
- package/dist/vanilla/initWorker.d.ts.map +1 -0
- package/dist/vanilla/initWorker.js +211 -0
- package/dist/vanilla/initWorker.js.map +1 -0
- package/dist/vanilla/memoryStorageBackend.d.ts +10 -0
- package/dist/vanilla/memoryStorageBackend.d.ts.map +1 -0
- package/dist/vanilla/memoryStorageBackend.js +33 -0
- package/dist/vanilla/memoryStorageBackend.js.map +1 -0
- package/dist/vanilla/noHashQueryStringUtils.d.ts +5 -0
- package/dist/vanilla/noHashQueryStringUtils.d.ts.map +1 -0
- package/dist/vanilla/noHashQueryStringUtils.js +31 -0
- package/dist/vanilla/noHashQueryStringUtils.js.map +1 -0
- package/dist/vanilla/oidc.d.ts +77 -0
- package/dist/vanilla/oidc.d.ts.map +1 -0
- package/dist/vanilla/oidc.js +814 -0
- package/dist/vanilla/oidc.js.map +1 -0
- package/dist/vanilla/timer.d.ts +8 -0
- package/dist/vanilla/timer.d.ts.map +1 -0
- package/dist/vanilla/timer.js +135 -0
- package/dist/vanilla/timer.js.map +1 -0
- package/package.json +73 -0
- package/src/App.css +38 -0
- package/src/App.specold.tsx +46 -0
- package/src/App.tsx +61 -0
- package/src/FetchUser.tsx +53 -0
- package/src/Home.tsx +20 -0
- package/src/MultiAuth.tsx +114 -0
- package/src/Profile.tsx +77 -0
- package/src/configurations.ts +53 -0
- package/src/index.css +13 -0
- package/src/index.tsx +9 -0
- package/src/logo.svg +7 -0
- package/src/oidc/FetchToken.tsx +51 -0
- package/src/oidc/OidcProvider.tsx +165 -0
- package/src/oidc/OidcSecure.tsx +32 -0
- package/src/oidc/ReactOidc.tsx +112 -0
- package/src/oidc/User.ts +38 -0
- package/src/oidc/core/default-component/AuthenticateError.component.tsx +13 -0
- package/src/oidc/core/default-component/Authenticating.component.tsx +13 -0
- package/src/oidc/core/default-component/Callback.component.tsx +49 -0
- package/src/oidc/core/default-component/Loading.component.tsx +10 -0
- package/src/oidc/core/default-component/ServiceWorkerInstall.component.tsx +51 -0
- package/src/oidc/core/default-component/ServiceWorkerNotSupported.component.tsx +13 -0
- package/src/oidc/core/default-component/SessionLost.component.tsx +14 -0
- package/src/oidc/core/default-component/SilentCallback.component.tsx +31 -0
- package/src/oidc/core/default-component/index.ts +6 -0
- package/src/oidc/core/routes/OidcRoutes.spec.tsx +16 -0
- package/src/oidc/core/routes/OidcRoutes.tsx +69 -0
- package/src/oidc/core/routes/__snapshots__/OidcRoutes.spec.tsx.snap +7 -0
- package/src/oidc/core/routes/index.ts +2 -0
- package/src/oidc/core/routes/route-utils.spec.ts +9 -0
- package/src/oidc/core/routes/route-utils.ts +34 -0
- package/src/oidc/core/routes/withRouter.spec.tsx +48 -0
- package/src/oidc/core/routes/withRouter.tsx +60 -0
- package/src/oidc/index.ts +5 -0
- package/src/oidc/vanilla/OidcServiceWorker.js +272 -0
- package/src/oidc/vanilla/OidcTrustedDomains.js +6 -0
- package/src/oidc/vanilla/index.ts +1 -0
- package/src/oidc/vanilla/initSession.ts +36 -0
- package/src/oidc/vanilla/initWorker.ts +153 -0
- package/src/oidc/vanilla/memoryStorageBackend.ts +33 -0
- package/src/oidc/vanilla/noHashQueryStringUtils.ts +7 -0
- package/src/oidc/vanilla/oidc.ts +600 -0
- package/src/oidc/vanilla/timer.ts +157 -0
- package/src/override/AuthenticateError.component.tsx +14 -0
- package/src/override/Authenticating.component.tsx +14 -0
- package/src/override/Callback.component.tsx +13 -0
- package/src/override/Loading.component.tsx +13 -0
- package/src/override/ServiceWorkerNotSupported.component.tsx +15 -0
- package/src/override/SessionLost.component.tsx +21 -0
- package/src/override/style.ts +10 -0
- package/src/setupTests.js +5 -0
- package/tsconfig.json +38 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["../../src/oidc/vanilla/oidc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/timer.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,KAAK;;;;;CA0JP,CAAC;AAEL,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var timer = (function () {
|
|
4
|
+
var workerPort = (function () {
|
|
5
|
+
var worker;
|
|
6
|
+
var blobURL;
|
|
7
|
+
var workerCode = function () {
|
|
8
|
+
var innerIdsByOuterIds = {};
|
|
9
|
+
var methods = {
|
|
10
|
+
setTimeout: function (port, id, timeout) {
|
|
11
|
+
innerIdsByOuterIds[id] = setTimeout(function () {
|
|
12
|
+
port.postMessage(id);
|
|
13
|
+
innerIdsByOuterIds[id] = null;
|
|
14
|
+
}, timeout);
|
|
15
|
+
},
|
|
16
|
+
setInterval: function (port, id, timeout) {
|
|
17
|
+
innerIdsByOuterIds[id] = setInterval(function () {
|
|
18
|
+
port.postMessage(id);
|
|
19
|
+
}, timeout);
|
|
20
|
+
},
|
|
21
|
+
clearTimeout: function (port, id) {
|
|
22
|
+
clearTimeout(innerIdsByOuterIds[id]);
|
|
23
|
+
innerIdsByOuterIds[id] = null;
|
|
24
|
+
},
|
|
25
|
+
clearInterval: function (port, id) {
|
|
26
|
+
clearInterval(innerIdsByOuterIds[id]);
|
|
27
|
+
innerIdsByOuterIds[id] = null;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
function onMessage(port, event) {
|
|
31
|
+
var method = event.data[0];
|
|
32
|
+
var id = event.data[1];
|
|
33
|
+
var option = event.data[2];
|
|
34
|
+
if (methods[method]) {
|
|
35
|
+
methods[method](port, id, option);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// For Dedicated Worker
|
|
39
|
+
this.onmessage = function (event) {
|
|
40
|
+
onMessage(self, event);
|
|
41
|
+
};
|
|
42
|
+
// For Shared Worker
|
|
43
|
+
this.onconnect = function (event) {
|
|
44
|
+
var port = event.ports[0];
|
|
45
|
+
port.onmessage = function (event) {
|
|
46
|
+
onMessage(port, event);
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
}.toString();
|
|
50
|
+
try {
|
|
51
|
+
var blob = new Blob(['(', workerCode, ')()'], { type: 'application/javascript' });
|
|
52
|
+
blobURL = URL.createObjectURL(blob);
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
if (SharedWorker) {
|
|
59
|
+
worker = new SharedWorker(blobURL);
|
|
60
|
+
return worker.port;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
console.log("SharedWorker not available");
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
if (Worker) {
|
|
68
|
+
worker = new Worker(blobURL);
|
|
69
|
+
return worker;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
console.log("Worker not available");
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
}());
|
|
77
|
+
if (!workerPort) {
|
|
78
|
+
return {
|
|
79
|
+
setTimeout: setTimeout.bind(window),
|
|
80
|
+
clearTimeout: clearTimeout.bind(window),
|
|
81
|
+
setInterval: setInterval.bind(window),
|
|
82
|
+
clearInterval: clearInterval.bind(window)
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
var getId = (function () {
|
|
86
|
+
var currentId = 0;
|
|
87
|
+
return function () {
|
|
88
|
+
currentId++;
|
|
89
|
+
return currentId;
|
|
90
|
+
};
|
|
91
|
+
}());
|
|
92
|
+
var timeoutCallbacksById = {};
|
|
93
|
+
var intervalCallbacksById = {};
|
|
94
|
+
workerPort.onmessage = function (event) {
|
|
95
|
+
var id = event.data;
|
|
96
|
+
var timeoutCallback = timeoutCallbacksById[id];
|
|
97
|
+
if (timeoutCallback) {
|
|
98
|
+
timeoutCallback();
|
|
99
|
+
timeoutCallbacksById[id] = null;
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
var intervalCallback = intervalCallbacksById[id];
|
|
103
|
+
if (intervalCallback) {
|
|
104
|
+
intervalCallback();
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
function setTimeoutWorker(callback, timeout) {
|
|
108
|
+
var id = getId();
|
|
109
|
+
workerPort.postMessage(['setTimeout', id, timeout]);
|
|
110
|
+
timeoutCallbacksById[id] = callback;
|
|
111
|
+
return id;
|
|
112
|
+
}
|
|
113
|
+
function clearTimeoutWorker(id) {
|
|
114
|
+
workerPort.postMessage(['clearTimeout', id]);
|
|
115
|
+
timeoutCallbacksById[id] = null;
|
|
116
|
+
}
|
|
117
|
+
function setIntervalWorker(callback, timeout) {
|
|
118
|
+
var id = getId();
|
|
119
|
+
workerPort.postMessage(['setInterval', id, timeout]);
|
|
120
|
+
intervalCallbacksById[id] = callback;
|
|
121
|
+
return id;
|
|
122
|
+
}
|
|
123
|
+
function clearIntervalWorker(id) {
|
|
124
|
+
workerPort.postMessage(['clearInterval', id]);
|
|
125
|
+
intervalCallbacksById[id] = null;
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
setTimeout: setTimeoutWorker,
|
|
129
|
+
clearTimeout: clearTimeoutWorker,
|
|
130
|
+
setInterval: setIntervalWorker,
|
|
131
|
+
clearInterval: clearIntervalWorker
|
|
132
|
+
};
|
|
133
|
+
}());
|
|
134
|
+
exports.default = timer;
|
|
135
|
+
//# sourceMappingURL=timer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timer.js","sourceRoot":"","sources":["../../src/oidc/vanilla/timer.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@axa-fr/react-oidc",
|
|
3
|
+
"version": "5.7.0-alpha0",
|
|
4
|
+
"private": false,
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"jsnext:main": "dist/index.js",
|
|
7
|
+
"description": "OpenID Connect & OAuth authentication using react",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/AxaGuilDEv/react-oidc.git"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"dist",
|
|
14
|
+
"src",
|
|
15
|
+
"README.md",
|
|
16
|
+
"tsconfig.json",
|
|
17
|
+
"package.json",
|
|
18
|
+
"package-lock.json"
|
|
19
|
+
],
|
|
20
|
+
"keywords": [
|
|
21
|
+
"oidc",
|
|
22
|
+
"OpenID Connect",
|
|
23
|
+
"openid",
|
|
24
|
+
"oauth2",
|
|
25
|
+
"oauth",
|
|
26
|
+
"react"
|
|
27
|
+
],
|
|
28
|
+
"scripts": {
|
|
29
|
+
"copy": "copyfiles -f ./src/oidc/vanilla/OidcServiceWorker.js ./public && copyfiles -f -soft ./src/oidc/vanilla/OidcTrustedDomains.js ./public",
|
|
30
|
+
"start": "npm run copy && cross-env PORT=4200 react-scripts start",
|
|
31
|
+
"build": "npm i react react-dom && npm run copy && react-scripts build",
|
|
32
|
+
"test": "react-scripts test --coverage",
|
|
33
|
+
"eject": "react-scripts eject",
|
|
34
|
+
"clean": "rimraf dist",
|
|
35
|
+
"prepare": "npm run clean && tsc --build \"./tsconfig.json\" && copyfiles -f ./src/oidc/vanilla/OidcServiceWorker.js ./dist && copyfiles -f ./src/oidc/vanilla/OidcTrustedDomains.js ./dist"
|
|
36
|
+
},
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"@openid/appauth": "1.3.1",
|
|
39
|
+
"react": "x",
|
|
40
|
+
"react-dom": "x"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@testing-library/jest-dom": "5.16.4",
|
|
44
|
+
"@testing-library/react": "13.1.1",
|
|
45
|
+
"@testing-library/user-event": "14.1.1",
|
|
46
|
+
"@types/react": "18.0.6",
|
|
47
|
+
"bootstrap": "4.6.1",
|
|
48
|
+
"copyfiles": "2.4.1",
|
|
49
|
+
"cross-env": "^7.0.3",
|
|
50
|
+
"cypress": "^9.5.0",
|
|
51
|
+
"msw": "0.39.2",
|
|
52
|
+
"react-router-dom": "5.3.0",
|
|
53
|
+
"react-scripts": "5.0.1",
|
|
54
|
+
"typescript": "4.6.3"
|
|
55
|
+
},
|
|
56
|
+
"license": "MIT",
|
|
57
|
+
"publishConfig": {
|
|
58
|
+
"access": "public",
|
|
59
|
+
"registry": "https://registry.npmjs.org/"
|
|
60
|
+
},
|
|
61
|
+
"browserslist": {
|
|
62
|
+
"production": [
|
|
63
|
+
">0.2%",
|
|
64
|
+
"not dead",
|
|
65
|
+
"not op_mini all"
|
|
66
|
+
],
|
|
67
|
+
"development": [
|
|
68
|
+
"last 1 chrome version",
|
|
69
|
+
"last 1 firefox version",
|
|
70
|
+
"last 1 safari version"
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
}
|
package/src/App.css
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
.App {
|
|
2
|
+
text-align: center;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.App-logo {
|
|
6
|
+
height: 40vmin;
|
|
7
|
+
pointer-events: none;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
11
|
+
.App-logo {
|
|
12
|
+
animation: App-logo-spin infinite 20s linear;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.App-header {
|
|
17
|
+
background-color: #282c34;
|
|
18
|
+
min-height: 100vh;
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-direction: column;
|
|
21
|
+
align-items: center;
|
|
22
|
+
justify-content: center;
|
|
23
|
+
font-size: calc(10px + 2vmin);
|
|
24
|
+
color: white;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.App-link {
|
|
28
|
+
color: #61dafb;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@keyframes App-logo-spin {
|
|
32
|
+
from {
|
|
33
|
+
transform: rotate(0deg);
|
|
34
|
+
}
|
|
35
|
+
to {
|
|
36
|
+
transform: rotate(360deg);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// __tests__/fetch.test.js
|
|
2
|
+
/*import React from 'react'
|
|
3
|
+
import {rest} from 'msw'
|
|
4
|
+
import {setupServer} from 'msw/node'
|
|
5
|
+
import {render, fireEvent, waitFor, screen} from '@testing-library/react'
|
|
6
|
+
import '@testing-library/jest-dom'
|
|
7
|
+
import App from "./App";
|
|
8
|
+
import {act} from "react-dom/test-utils";
|
|
9
|
+
|
|
10
|
+
const server = setupServer(
|
|
11
|
+
rest.get('http://api/.well-known/openid-configuration', (req, res, ctx) => {
|
|
12
|
+
return res( ctx.status(200),ctx.json({
|
|
13
|
+
"issuer":"https://demo.identityserver.io",
|
|
14
|
+
"jwks_uri":"https://demo.identityserver.io/.well-known/openid-configuration/jwks",
|
|
15
|
+
"authorization_endpoint":"https://demo.identityserver.io/connect/authorize",
|
|
16
|
+
"token_endpoint":"https://demo.identityserver.io/connect/token",
|
|
17
|
+
"userinfo_endpoint":"https://demo.identityserver.io/connect/userinfo",
|
|
18
|
+
"end_session_endpoint":"https://demo.identityserver.io/connect/endsession",
|
|
19
|
+
"check_session_iframe":"https://demo.identityserver.io/connect/checksession",
|
|
20
|
+
"revocation_endpoint":"https://demo.identityserver.io/connect/revocation",
|
|
21
|
+
"introspection_endpoint":"https://demo.identityserver.io/connect/introspect",
|
|
22
|
+
"device_authorization_endpoint":"https://demo.identityserver.io/connect/deviceauthorization","frontchannel_logout_supported":true,"frontchannel_logout_session_supported":true,"backchannel_logout_supported":true,"backchannel_logout_session_supported":true,"scopes_supported":["openid","profile","email","api","api.scope1","api.scope2","scope2","policyserver.runtime","policyserver.management","offline_access"],"claims_supported":["sub","name","family_name","given_name","middle_name","nickname","preferred_username","profile","picture","website","gender","birthdate","zoneinfo","locale","updated_at","email","email_verified"],"grant_types_supported":["authorization_code","client_credentials","refresh_token","implicit","password","urn:ietf:params:oauth:grant-type:device_code"],"response_types_supported":["code","token","id_token","id_token token","code id_token","code token","code id_token token"],"response_modes_supported":["form_post","query","fragment"],"token_endpoint_auth_methods_supported":["client_secret_basic","client_secret_post"],"id_token_signing_alg_values_supported":["RS256"],"subject_types_supported":["public"],"code_challenge_methods_supported":["plain","S256"],"request_parameter_supported":true}))
|
|
23
|
+
}),
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
beforeAll(() => server.listen())
|
|
27
|
+
afterEach(() => server.resetHandlers())
|
|
28
|
+
afterAll(() => server.close())
|
|
29
|
+
|
|
30
|
+
test('Load home page then login should log', async () => {
|
|
31
|
+
|
|
32
|
+
const configuration = {
|
|
33
|
+
client_id: 'interactive.public.short',
|
|
34
|
+
redirect_uri: 'http://localhost:4200/authentication/callback',
|
|
35
|
+
scope: 'openid profile email api offline_access',
|
|
36
|
+
authority: 'http://api',
|
|
37
|
+
refresh_time_before_tokens_expiration_in_second: 70,
|
|
38
|
+
};
|
|
39
|
+
// @ts-ignore
|
|
40
|
+
const {debug, getByText, rerender} = render(<App configuration={configuration}/>);
|
|
41
|
+
await waitFor(() => getByText('React Demo Application protected by OpenId Connect'));
|
|
42
|
+
fireEvent.click(screen.getByText('Login'));
|
|
43
|
+
await waitFor(() => getByText('Authentification en cours'));
|
|
44
|
+
|
|
45
|
+
})
|
|
46
|
+
*/
|
package/src/App.tsx
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BrowserRouter as Router, Route, Link } from 'react-router-dom';
|
|
3
|
+
import { Home } from "./Home";
|
|
4
|
+
import { Profile, SecureProfile } from "./Profile";
|
|
5
|
+
import { configurationAuth0, configurationIdentityServer, configurationIdentityServerWithoutDiscovery } from './configurations';
|
|
6
|
+
import { withOidcSecure, OidcProvider } from "./oidc";
|
|
7
|
+
import {FetchUserHoc, FetchUserHook} from "./FetchUser";
|
|
8
|
+
import { MultiAuthContainer } from "./MultiAuth";
|
|
9
|
+
|
|
10
|
+
function App() {
|
|
11
|
+
const [show, setShow] = React.useState(false);
|
|
12
|
+
return (
|
|
13
|
+
<OidcProvider configuration={configurationIdentityServer}>
|
|
14
|
+
<Router>
|
|
15
|
+
<nav className="navbar navbar-expand-lg navbar-dark bg-primary">
|
|
16
|
+
<a className="navbar-brand" href="/">@axa-fr/react-oidc-context</a>
|
|
17
|
+
<button className="navbar-toggler" type="button" onClick={() => setShow(!show)} data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
|
18
|
+
<span className="navbar-toggler-icon"/>
|
|
19
|
+
</button>
|
|
20
|
+
<div style={show ? { display: "block" } : { display: 'none' }} className="collapse navbar-collapse" id="navbarNav">
|
|
21
|
+
<ul className="navbar-nav">
|
|
22
|
+
<li className="nav-item">
|
|
23
|
+
<Link className="nav-link" to="/">Home</Link>
|
|
24
|
+
</li>
|
|
25
|
+
<li className="nav-item">
|
|
26
|
+
<Link className="nav-link" to="/profile">Profile</Link>
|
|
27
|
+
</li>
|
|
28
|
+
<li className="nav-item">
|
|
29
|
+
<Link className="nav-link" to="/profile-secure-component">Secure Profile Component</Link>
|
|
30
|
+
</li>
|
|
31
|
+
<li className="nav-item">
|
|
32
|
+
<Link className="nav-link" to="/profile-secure-hoc">Secure Profile Hoc</Link>
|
|
33
|
+
</li>
|
|
34
|
+
<li className="nav-item">
|
|
35
|
+
<Link className="nav-link" to="/user-fetch-secure-hoc">Secure User Fetch Hoc</Link>
|
|
36
|
+
</li>
|
|
37
|
+
<li className="nav-item">
|
|
38
|
+
<Link className="nav-link" to="/user-fetch-secure-hook">Secure User Fetch Hook</Link>
|
|
39
|
+
</li>
|
|
40
|
+
<li className="nav-item">
|
|
41
|
+
<Link className="nav-link" to="/multi-auth">Multi Auth</Link>
|
|
42
|
+
</li>
|
|
43
|
+
</ul>
|
|
44
|
+
</div>
|
|
45
|
+
</nav>
|
|
46
|
+
|
|
47
|
+
<div>
|
|
48
|
+
<Route exact path="/" component={Home} />
|
|
49
|
+
<Route exact path="/profile" component={Profile} />
|
|
50
|
+
<Route exact path="/profile-secure-component" component={SecureProfile} />
|
|
51
|
+
<Route exact path="/profile-secure-hoc" component={withOidcSecure(Profile)} />
|
|
52
|
+
<Route exact path="/user-fetch-secure-hoc" component={FetchUserHoc} />
|
|
53
|
+
<Route exact path="/user-fetch-secure-hook" component={FetchUserHook} />
|
|
54
|
+
<Route path="/multi-auth" component={MultiAuthContainer} />
|
|
55
|
+
</div>
|
|
56
|
+
</Router>
|
|
57
|
+
</OidcProvider>
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export default App;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import React, {useEffect, useState} from 'react';
|
|
2
|
+
|
|
3
|
+
import {useOidcFetch, withOidcFetch} from "./oidc/FetchToken";
|
|
4
|
+
import {OidcSecure} from "./oidc";
|
|
5
|
+
|
|
6
|
+
const DisplayUserInfo = ({ fetch }) => {
|
|
7
|
+
const [oidcUser, setOidcUser] = useState(null);
|
|
8
|
+
const [isLoading, setLoading] = useState(true);
|
|
9
|
+
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
const fetchUserInfoAsync = async () => {
|
|
12
|
+
const res = await fetch("https://demo.duendesoftware.com/connect/userinfo");
|
|
13
|
+
if (res.status != 200) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
return res.json();
|
|
17
|
+
};
|
|
18
|
+
let isMounted = true;
|
|
19
|
+
fetchUserInfoAsync().then((userInfo) => {
|
|
20
|
+
if(isMounted) {
|
|
21
|
+
setLoading(false);
|
|
22
|
+
setOidcUser(userInfo)
|
|
23
|
+
}
|
|
24
|
+
})
|
|
25
|
+
return () => {
|
|
26
|
+
isMounted = false;
|
|
27
|
+
};
|
|
28
|
+
},[]);
|
|
29
|
+
|
|
30
|
+
if(isLoading){
|
|
31
|
+
return <>Loading</>;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<div className="container mt-3">
|
|
36
|
+
<div className="card text-white bg-success mb-3">
|
|
37
|
+
<div className="card-body">
|
|
38
|
+
<h5 className="card-title">User information</h5>
|
|
39
|
+
{oidcUser != null && <p className="card-text">{JSON.stringify(oidcUser)}</p>}
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
)
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const UserInfoWithFetchHoc = withOidcFetch(fetch)(DisplayUserInfo);
|
|
47
|
+
|
|
48
|
+
export const FetchUserHoc= () => <OidcSecure><UserInfoWithFetchHoc/></OidcSecure>;
|
|
49
|
+
|
|
50
|
+
export const FetchUserHook= () => {
|
|
51
|
+
const {fetch} = useOidcFetch();
|
|
52
|
+
return <OidcSecure><DisplayUserInfo fetch={fetch} /></OidcSecure>
|
|
53
|
+
}
|
package/src/Home.tsx
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {useOidc} from "./oidc";
|
|
3
|
+
|
|
4
|
+
export const Home = () => {
|
|
5
|
+
|
|
6
|
+
const { login, logout, isAuthenticated} = useOidc();
|
|
7
|
+
|
|
8
|
+
return (
|
|
9
|
+
<div className="container-fluid mt-3">
|
|
10
|
+
<div className="card">
|
|
11
|
+
<div className="card-body">
|
|
12
|
+
<h5 className="card-title">Home</h5>
|
|
13
|
+
<p className="card-text">React Demo Application protected by OpenId Connect. More info on about oidc on <a href="https://github.com/AxaGuilDEv/react-oidc">GitHub</a> </p>
|
|
14
|
+
{!isAuthenticated && <button type="button" className="btn btn-primary" onClick={() => login('/profile')}>Login</button>}
|
|
15
|
+
{isAuthenticated && <button type="button" className="btn btn-primary" onClick={() => logout('/profile')}>logout</button>}
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
)
|
|
20
|
+
};
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import React, {useState} from 'react';
|
|
2
|
+
import {OidcProvider, useOidc, useOidcAccessToken, useOidcIdToken} from "./oidc";
|
|
3
|
+
import { configurationIdentityServer, configurationGoogle} from "./configurations";
|
|
4
|
+
import AuthenticatingError from "./override/AuthenticateError.component"
|
|
5
|
+
import Authenticating from "./override/Authenticating.component"
|
|
6
|
+
import Loading from "./override/Loading.component"
|
|
7
|
+
import {CallBackSuccess} from "./override/Callback.component"
|
|
8
|
+
import SessionLost from "./override/SessionLost.component"
|
|
9
|
+
import ServiceWorkerNotSupported from "./override/ServiceWorkerNotSupported.component"
|
|
10
|
+
|
|
11
|
+
const MultiAuth = ( {configurationName, handleConfigurationChange }) => {
|
|
12
|
+
const { login, logout, isAuthenticated} = useOidc(configurationName);
|
|
13
|
+
const [fname, setFname] = useState("")
|
|
14
|
+
|
|
15
|
+
const handleChange = e => {
|
|
16
|
+
setFname(e.target.value)
|
|
17
|
+
}
|
|
18
|
+
return (
|
|
19
|
+
<div className="container-fluid mt-3">
|
|
20
|
+
<div className="card">
|
|
21
|
+
<div className="card-body">
|
|
22
|
+
<h5 className="card-title">Multiple Authentication</h5>
|
|
23
|
+
<form>
|
|
24
|
+
<label>
|
|
25
|
+
First Name:{" "}
|
|
26
|
+
<input type="text" value={fname} onChange={handleChange} />
|
|
27
|
+
</label>
|
|
28
|
+
</form>
|
|
29
|
+
<p className="card-text">React Demo Application protected by OpenId Connect with MultipleAuthentication.
|
|
30
|
+
<br/>For example, config_1 can have other sensitive scope, config_2 does not ask for the "offline_access" so it does not retrieve the most sensitive token "refresh_token" for very sensitive operation, it retrive only access_token valid for a small amout of time.</p>
|
|
31
|
+
<select value={configurationName} onChange={handleConfigurationChange} >
|
|
32
|
+
<option value="config_1">config_1</option>
|
|
33
|
+
<option value="config_2">config_2</option>
|
|
34
|
+
<option value="google">google</option>
|
|
35
|
+
</select>
|
|
36
|
+
{!isAuthenticated && <button type="button" className="btn btn-primary" onClick={() => login()}>Login</button>}
|
|
37
|
+
{isAuthenticated && <button type="button" className="btn btn-primary" onClick={() => logout()}>logout</button>}
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
if(!sessionStorage.configurationName){
|
|
45
|
+
sessionStorage.configurationName = "config_1";
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export const MultiAuthContainer = () => {
|
|
49
|
+
const [isSessionLost, setIsSessionLost] = useState(false)
|
|
50
|
+
const [configurationName, setConfigurationName] = useState(sessionStorage.configurationName);
|
|
51
|
+
const callBack = window.location.origin+"/multi-auth/authentification/callback2";
|
|
52
|
+
const silent_redirect_uri = window.location.origin+"/multi-auth/authentification/silent-callback2";
|
|
53
|
+
const configurations = {
|
|
54
|
+
config_1: {...configurationIdentityServer,
|
|
55
|
+
redirect_uri:callBack,
|
|
56
|
+
silent_redirect_uri,
|
|
57
|
+
scope: 'openid profile email api offline_access'
|
|
58
|
+
},
|
|
59
|
+
config_2: {...configurationIdentityServer,
|
|
60
|
+
redirect_uri:callBack,
|
|
61
|
+
silent_redirect_uri: "",
|
|
62
|
+
scope: 'openid profile email api'},
|
|
63
|
+
google: { ...configurationGoogle }
|
|
64
|
+
}
|
|
65
|
+
const handleConfigurationChange = (event) => {
|
|
66
|
+
const configurationName = event.target.value;
|
|
67
|
+
sessionStorage.configurationName = configurationName;
|
|
68
|
+
setConfigurationName(configurationName);
|
|
69
|
+
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const onSessionLost = ()=>{
|
|
73
|
+
setIsSessionLost(true);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return (
|
|
77
|
+
<>
|
|
78
|
+
<OidcProvider configuration={configurations[configurationName]}
|
|
79
|
+
configurationName={configurationName}
|
|
80
|
+
loadingComponent={Loading}
|
|
81
|
+
authenticatingErrorComponent={AuthenticatingError}
|
|
82
|
+
authenticatingComponent={Authenticating}
|
|
83
|
+
serviceWorkerNotSupportedComponent={ServiceWorkerNotSupported}
|
|
84
|
+
callbackSuccessComponent={CallBackSuccess}
|
|
85
|
+
onSessionLost={onSessionLost}
|
|
86
|
+
>
|
|
87
|
+
{ isSessionLost && <SessionLost configurationName={configurationName}/>}
|
|
88
|
+
<MultiAuth configurationName={configurationName} handleConfigurationChange={handleConfigurationChange} />
|
|
89
|
+
<DisplayAccessToken configurationName={configurationName} />
|
|
90
|
+
</OidcProvider>
|
|
91
|
+
</>
|
|
92
|
+
);
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
const DisplayAccessToken = ({configurationName}) => {
|
|
96
|
+
const{ accessToken, accessTokenPayload } = useOidcAccessToken(configurationName);
|
|
97
|
+
const{ idTokenPayload } = useOidcIdToken(configurationName);
|
|
98
|
+
|
|
99
|
+
if(!accessToken){
|
|
100
|
+
return <p>you are not authentified</p>
|
|
101
|
+
}
|
|
102
|
+
return (
|
|
103
|
+
<div className="card text-white bg-info mb-3">
|
|
104
|
+
<div className="card-body">
|
|
105
|
+
<h5 className="card-title">Access Token</h5>
|
|
106
|
+
<p style={{color:'red', "backgroundColor": 'white'}}>Please consider to configure the ServiceWorker in order to protect your application from XSRF attacks. "access_token" and "refresh_token" will never be accessible from your client side javascript.</p>
|
|
107
|
+
{<p className="card-text">Access Token: {JSON.stringify(accessToken)}</p>}
|
|
108
|
+
{accessTokenPayload != null && <p className="card-text">Access Token Payload: {JSON.stringify(accessTokenPayload)}</p>}
|
|
109
|
+
<h5 className="card-title">Id Token</h5>
|
|
110
|
+
{idTokenPayload != null && <p className="card-text">Access Token Payload: {JSON.stringify(idTokenPayload)}</p>}
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
)
|
|
114
|
+
};
|