@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.
Files changed (160) hide show
  1. package/README.md +502 -0
  2. package/dist/FetchToken.d.ts +10 -0
  3. package/dist/FetchToken.d.ts.map +1 -0
  4. package/dist/FetchToken.js +107 -0
  5. package/dist/FetchToken.js.map +1 -0
  6. package/dist/OidcProvider.d.ts +25 -0
  7. package/dist/OidcProvider.d.ts.map +1 -0
  8. package/dist/OidcProvider.js +133 -0
  9. package/dist/OidcProvider.js.map +1 -0
  10. package/dist/OidcSecure.d.ts +10 -0
  11. package/dist/OidcSecure.d.ts.map +1 -0
  12. package/dist/OidcSecure.js +68 -0
  13. package/dist/OidcSecure.js.map +1 -0
  14. package/dist/OidcServiceWorker.js +272 -0
  15. package/dist/OidcTrustedDomains.js +6 -0
  16. package/dist/ReactOidc.d.ts +17 -0
  17. package/dist/ReactOidc.d.ts.map +1 -0
  18. package/dist/ReactOidc.js +106 -0
  19. package/dist/ReactOidc.js.map +1 -0
  20. package/dist/User.d.ts +15 -0
  21. package/dist/User.d.ts.map +1 -0
  22. package/dist/User.js +48 -0
  23. package/dist/User.js.map +1 -0
  24. package/dist/core/default-component/AuthenticateError.component.d.ts +4 -0
  25. package/dist/core/default-component/AuthenticateError.component.d.ts.map +1 -0
  26. package/dist/core/default-component/AuthenticateError.component.js +32 -0
  27. package/dist/core/default-component/AuthenticateError.component.js.map +1 -0
  28. package/dist/core/default-component/Authenticating.component.d.ts +4 -0
  29. package/dist/core/default-component/Authenticating.component.d.ts.map +1 -0
  30. package/dist/core/default-component/Authenticating.component.js +32 -0
  31. package/dist/core/default-component/Authenticating.component.js.map +1 -0
  32. package/dist/core/default-component/Callback.component.d.ts +5 -0
  33. package/dist/core/default-component/Callback.component.d.ts.map +1 -0
  34. package/dist/core/default-component/Callback.component.js +118 -0
  35. package/dist/core/default-component/Callback.component.js.map +1 -0
  36. package/dist/core/default-component/Loading.component.d.ts +4 -0
  37. package/dist/core/default-component/Loading.component.d.ts.map +1 -0
  38. package/dist/core/default-component/Loading.component.js +29 -0
  39. package/dist/core/default-component/Loading.component.js.map +1 -0
  40. package/dist/core/default-component/ServiceWorkerInstall.component.d.ts +4 -0
  41. package/dist/core/default-component/ServiceWorkerInstall.component.d.ts.map +1 -0
  42. package/dist/core/default-component/ServiceWorkerInstall.component.js +122 -0
  43. package/dist/core/default-component/ServiceWorkerInstall.component.js.map +1 -0
  44. package/dist/core/default-component/ServiceWorkerNotSupported.component.d.ts +4 -0
  45. package/dist/core/default-component/ServiceWorkerNotSupported.component.d.ts.map +1 -0
  46. package/dist/core/default-component/ServiceWorkerNotSupported.component.js +32 -0
  47. package/dist/core/default-component/ServiceWorkerNotSupported.component.js.map +1 -0
  48. package/dist/core/default-component/SessionLost.component.d.ts +4 -0
  49. package/dist/core/default-component/SessionLost.component.d.ts.map +1 -0
  50. package/dist/core/default-component/SessionLost.component.js +14 -0
  51. package/dist/core/default-component/SessionLost.component.js.map +1 -0
  52. package/dist/core/default-component/SilentCallback.component.d.ts +4 -0
  53. package/dist/core/default-component/SilentCallback.component.d.ts.map +1 -0
  54. package/dist/core/default-component/SilentCallback.component.js +96 -0
  55. package/dist/core/default-component/SilentCallback.component.js.map +1 -0
  56. package/dist/core/default-component/index.d.ts +7 -0
  57. package/dist/core/default-component/index.d.ts.map +1 -0
  58. package/dist/core/default-component/index.js +20 -0
  59. package/dist/core/default-component/index.js.map +1 -0
  60. package/dist/core/routes/OidcRoutes.d.ts +12 -0
  61. package/dist/core/routes/OidcRoutes.d.ts.map +1 -0
  62. package/dist/core/routes/OidcRoutes.js +71 -0
  63. package/dist/core/routes/OidcRoutes.js.map +1 -0
  64. package/dist/core/routes/index.d.ts +3 -0
  65. package/dist/core/routes/index.d.ts.map +1 -0
  66. package/dist/core/routes/index.js +9 -0
  67. package/dist/core/routes/index.js.map +1 -0
  68. package/dist/core/routes/route-utils.d.ts +2 -0
  69. package/dist/core/routes/route-utils.d.ts.map +1 -0
  70. package/dist/core/routes/route-utils.js +32 -0
  71. package/dist/core/routes/route-utils.js.map +1 -0
  72. package/dist/core/routes/withRouter.d.ts +19 -0
  73. package/dist/core/routes/withRouter.d.ts.map +1 -0
  74. package/dist/core/routes/withRouter.js +33 -0
  75. package/dist/core/routes/withRouter.js.map +1 -0
  76. package/dist/index.d.ts +6 -0
  77. package/dist/index.d.ts.map +1 -0
  78. package/dist/index.js +19 -0
  79. package/dist/index.js.map +1 -0
  80. package/dist/vanilla/index.d.ts +2 -0
  81. package/dist/vanilla/index.d.ts.map +1 -0
  82. package/dist/vanilla/index.js +6 -0
  83. package/dist/vanilla/index.js.map +1 -0
  84. package/dist/vanilla/initSession.d.ts +11 -0
  85. package/dist/vanilla/initSession.d.ts.map +1 -0
  86. package/dist/vanilla/initSession.js +72 -0
  87. package/dist/vanilla/initSession.js.map +1 -0
  88. package/dist/vanilla/initWorker.d.ts +13 -0
  89. package/dist/vanilla/initWorker.d.ts.map +1 -0
  90. package/dist/vanilla/initWorker.js +211 -0
  91. package/dist/vanilla/initWorker.js.map +1 -0
  92. package/dist/vanilla/memoryStorageBackend.d.ts +10 -0
  93. package/dist/vanilla/memoryStorageBackend.d.ts.map +1 -0
  94. package/dist/vanilla/memoryStorageBackend.js +33 -0
  95. package/dist/vanilla/memoryStorageBackend.js.map +1 -0
  96. package/dist/vanilla/noHashQueryStringUtils.d.ts +5 -0
  97. package/dist/vanilla/noHashQueryStringUtils.d.ts.map +1 -0
  98. package/dist/vanilla/noHashQueryStringUtils.js +31 -0
  99. package/dist/vanilla/noHashQueryStringUtils.js.map +1 -0
  100. package/dist/vanilla/oidc.d.ts +77 -0
  101. package/dist/vanilla/oidc.d.ts.map +1 -0
  102. package/dist/vanilla/oidc.js +814 -0
  103. package/dist/vanilla/oidc.js.map +1 -0
  104. package/dist/vanilla/timer.d.ts +8 -0
  105. package/dist/vanilla/timer.d.ts.map +1 -0
  106. package/dist/vanilla/timer.js +135 -0
  107. package/dist/vanilla/timer.js.map +1 -0
  108. package/package.json +73 -0
  109. package/src/App.css +38 -0
  110. package/src/App.specold.tsx +46 -0
  111. package/src/App.tsx +61 -0
  112. package/src/FetchUser.tsx +53 -0
  113. package/src/Home.tsx +20 -0
  114. package/src/MultiAuth.tsx +114 -0
  115. package/src/Profile.tsx +77 -0
  116. package/src/configurations.ts +53 -0
  117. package/src/index.css +13 -0
  118. package/src/index.tsx +9 -0
  119. package/src/logo.svg +7 -0
  120. package/src/oidc/FetchToken.tsx +51 -0
  121. package/src/oidc/OidcProvider.tsx +165 -0
  122. package/src/oidc/OidcSecure.tsx +32 -0
  123. package/src/oidc/ReactOidc.tsx +112 -0
  124. package/src/oidc/User.ts +38 -0
  125. package/src/oidc/core/default-component/AuthenticateError.component.tsx +13 -0
  126. package/src/oidc/core/default-component/Authenticating.component.tsx +13 -0
  127. package/src/oidc/core/default-component/Callback.component.tsx +49 -0
  128. package/src/oidc/core/default-component/Loading.component.tsx +10 -0
  129. package/src/oidc/core/default-component/ServiceWorkerInstall.component.tsx +51 -0
  130. package/src/oidc/core/default-component/ServiceWorkerNotSupported.component.tsx +13 -0
  131. package/src/oidc/core/default-component/SessionLost.component.tsx +14 -0
  132. package/src/oidc/core/default-component/SilentCallback.component.tsx +31 -0
  133. package/src/oidc/core/default-component/index.ts +6 -0
  134. package/src/oidc/core/routes/OidcRoutes.spec.tsx +16 -0
  135. package/src/oidc/core/routes/OidcRoutes.tsx +69 -0
  136. package/src/oidc/core/routes/__snapshots__/OidcRoutes.spec.tsx.snap +7 -0
  137. package/src/oidc/core/routes/index.ts +2 -0
  138. package/src/oidc/core/routes/route-utils.spec.ts +9 -0
  139. package/src/oidc/core/routes/route-utils.ts +34 -0
  140. package/src/oidc/core/routes/withRouter.spec.tsx +48 -0
  141. package/src/oidc/core/routes/withRouter.tsx +60 -0
  142. package/src/oidc/index.ts +5 -0
  143. package/src/oidc/vanilla/OidcServiceWorker.js +272 -0
  144. package/src/oidc/vanilla/OidcTrustedDomains.js +6 -0
  145. package/src/oidc/vanilla/index.ts +1 -0
  146. package/src/oidc/vanilla/initSession.ts +36 -0
  147. package/src/oidc/vanilla/initWorker.ts +153 -0
  148. package/src/oidc/vanilla/memoryStorageBackend.ts +33 -0
  149. package/src/oidc/vanilla/noHashQueryStringUtils.ts +7 -0
  150. package/src/oidc/vanilla/oidc.ts +600 -0
  151. package/src/oidc/vanilla/timer.ts +157 -0
  152. package/src/override/AuthenticateError.component.tsx +14 -0
  153. package/src/override/Authenticating.component.tsx +14 -0
  154. package/src/override/Callback.component.tsx +13 -0
  155. package/src/override/Loading.component.tsx +13 -0
  156. package/src/override/ServiceWorkerNotSupported.component.tsx +15 -0
  157. package/src/override/SessionLost.component.tsx +21 -0
  158. package/src/override/style.ts +10 -0
  159. package/src/setupTests.js +5 -0
  160. 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,8 @@
1
+ declare const timer: {
2
+ setTimeout: any;
3
+ clearTimeout: any;
4
+ setInterval: any;
5
+ clearInterval: any;
6
+ };
7
+ export default timer;
8
+ //# sourceMappingURL=timer.d.ts.map
@@ -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
+ };