oidc-auth-client 0.0.0

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 (91) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +240 -0
  3. package/dist/index.d.ts +21 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +21 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/src/auth/Client.d.ts +135 -0
  8. package/dist/src/auth/Client.d.ts.map +1 -0
  9. package/dist/src/auth/Client.js +734 -0
  10. package/dist/src/auth/Client.js.map +1 -0
  11. package/dist/src/auth/Events.d.ts +51 -0
  12. package/dist/src/auth/Events.d.ts.map +1 -0
  13. package/dist/src/auth/Events.js +139 -0
  14. package/dist/src/auth/Events.js.map +1 -0
  15. package/dist/src/auth/Session.d.ts +132 -0
  16. package/dist/src/auth/Session.d.ts.map +1 -0
  17. package/dist/src/auth/Session.js +355 -0
  18. package/dist/src/auth/Session.js.map +1 -0
  19. package/dist/src/auth/Settings.d.ts +178 -0
  20. package/dist/src/auth/Settings.d.ts.map +1 -0
  21. package/dist/src/auth/Settings.js +210 -0
  22. package/dist/src/auth/Settings.js.map +1 -0
  23. package/dist/src/crypto/Crypto.d.ts +14 -0
  24. package/dist/src/crypto/Crypto.d.ts.map +1 -0
  25. package/dist/src/crypto/Crypto.js +107 -0
  26. package/dist/src/crypto/Crypto.js.map +1 -0
  27. package/dist/src/models/User.d.ts +31 -0
  28. package/dist/src/models/User.d.ts.map +1 -0
  29. package/dist/src/models/User.js +57 -0
  30. package/dist/src/models/User.js.map +1 -0
  31. package/dist/src/navigation/Navigator.d.ts +106 -0
  32. package/dist/src/navigation/Navigator.d.ts.map +1 -0
  33. package/dist/src/navigation/Navigator.js +441 -0
  34. package/dist/src/navigation/Navigator.js.map +1 -0
  35. package/dist/src/protocol/Requests.d.ts +50 -0
  36. package/dist/src/protocol/Requests.d.ts.map +1 -0
  37. package/dist/src/protocol/Requests.js +109 -0
  38. package/dist/src/protocol/Requests.js.map +1 -0
  39. package/dist/src/protocol/ResponseValidator.d.ts +39 -0
  40. package/dist/src/protocol/ResponseValidator.d.ts.map +1 -0
  41. package/dist/src/protocol/ResponseValidator.js +366 -0
  42. package/dist/src/protocol/ResponseValidator.js.map +1 -0
  43. package/dist/src/protocol/Responses.d.ts +44 -0
  44. package/dist/src/protocol/Responses.d.ts.map +1 -0
  45. package/dist/src/protocol/Responses.js +77 -0
  46. package/dist/src/protocol/Responses.js.map +1 -0
  47. package/dist/src/protocol/TokenService.d.ts +38 -0
  48. package/dist/src/protocol/TokenService.d.ts.map +1 -0
  49. package/dist/src/protocol/TokenService.js +259 -0
  50. package/dist/src/protocol/TokenService.js.map +1 -0
  51. package/dist/src/services/Http.d.ts +55 -0
  52. package/dist/src/services/Http.d.ts.map +1 -0
  53. package/dist/src/services/Http.js +276 -0
  54. package/dist/src/services/Http.js.map +1 -0
  55. package/dist/src/services/Timer.d.ts +18 -0
  56. package/dist/src/services/Timer.d.ts.map +1 -0
  57. package/dist/src/services/Timer.js +56 -0
  58. package/dist/src/services/Timer.js.map +1 -0
  59. package/dist/src/storage/Storage.d.ts +23 -0
  60. package/dist/src/storage/Storage.d.ts.map +1 -0
  61. package/dist/src/storage/Storage.js +65 -0
  62. package/dist/src/storage/Storage.js.map +1 -0
  63. package/dist/src/types/crypto.d.ts +32 -0
  64. package/dist/src/types/crypto.d.ts.map +1 -0
  65. package/dist/src/types/crypto.js +3 -0
  66. package/dist/src/types/crypto.js.map +1 -0
  67. package/dist/src/types/navigator.d.ts +33 -0
  68. package/dist/src/types/navigator.d.ts.map +1 -0
  69. package/dist/src/types/navigator.js +3 -0
  70. package/dist/src/types/navigator.js.map +1 -0
  71. package/dist/src/types/storage.d.ts +7 -0
  72. package/dist/src/types/storage.d.ts.map +1 -0
  73. package/dist/src/types/storage.js +3 -0
  74. package/dist/src/types/storage.js.map +1 -0
  75. package/dist/src/types/user.d.ts +6 -0
  76. package/dist/src/types/user.d.ts.map +1 -0
  77. package/dist/src/types/user.js +3 -0
  78. package/dist/src/types/user.js.map +1 -0
  79. package/dist/src/utils/Event.d.ts +10 -0
  80. package/dist/src/utils/Event.d.ts.map +1 -0
  81. package/dist/src/utils/Event.js +24 -0
  82. package/dist/src/utils/Event.js.map +1 -0
  83. package/dist/src/utils/Global.d.ts +14 -0
  84. package/dist/src/utils/Global.d.ts.map +1 -0
  85. package/dist/src/utils/Global.js +50 -0
  86. package/dist/src/utils/Global.js.map +1 -0
  87. package/dist/src/utils/Log.d.ts +30 -0
  88. package/dist/src/utils/Log.d.ts.map +1 -0
  89. package/dist/src/utils/Log.js +68 -0
  90. package/dist/src/utils/Log.js.map +1 -0
  91. package/package.json +91 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timer.d.ts","sourceRoot":"","sources":["../../../src/services/Timer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAU,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI1C,qBAAa,KAAM,SAAQ,KAAK;IAC9B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,YAAY,CAA+C;gBAEvD,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,YAA4B,EAAE,OAAO,CAAC,EAAE,MAAM,MAAM;IAMrF,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAkB5B,MAAM,IAAI,IAAI;IAQd,OAAO,CAAC,SAAS;CAQlB;AAED,qBAAa,YAAY;IACvB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;CAGhC"}
@@ -0,0 +1,56 @@
1
+ // Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.
2
+ import { Log } from '../utils/Log.js';
3
+ import { Global } from '../utils/Global.js';
4
+ import { Event } from '../utils/Event.js';
5
+ const TimerDuration = 5; // seconds
6
+ export class Timer extends Event {
7
+ constructor(name, timer = Global.timer, nowFunc) {
8
+ super(name);
9
+ this._expiration = 0;
10
+ this._timerHandle = null;
11
+ this._timer = timer;
12
+ this._nowFunc = nowFunc ?? (() => (Date.now() / 1000) | 0);
13
+ }
14
+ get now() {
15
+ return this._nowFunc();
16
+ }
17
+ get expiration() {
18
+ return this._expiration;
19
+ }
20
+ init(duration) {
21
+ if (duration <= 0)
22
+ duration = 1;
23
+ duration = parseInt(String(duration));
24
+ const expiration = this.now + duration;
25
+ if (this.expiration === expiration && this._timerHandle) {
26
+ Log.debug('Timer.init timer ' + this._name + ' skipping initialization since already initialized for expiration:', this.expiration);
27
+ return;
28
+ }
29
+ this.cancel();
30
+ Log.debug('Timer.init timer ' + this._name + ' for duration:', duration);
31
+ this._expiration = expiration;
32
+ const timerDuration = duration < TimerDuration ? duration : TimerDuration;
33
+ this._timerHandle = this._timer.setInterval(this._callback.bind(this), timerDuration * 1000);
34
+ }
35
+ cancel() {
36
+ if (this._timerHandle) {
37
+ Log.debug('Timer.cancel: ', this._name);
38
+ this._timer.clearInterval(this._timerHandle);
39
+ this._timerHandle = null;
40
+ }
41
+ }
42
+ _callback() {
43
+ const diff = this._expiration - this.now;
44
+ Log.debug('Timer.callback; ' + this._name + ' timer expires in:', diff);
45
+ if (this._expiration <= this.now) {
46
+ this.cancel();
47
+ super.raise();
48
+ }
49
+ }
50
+ }
51
+ export class ClockService {
52
+ getEpochTime() {
53
+ return Promise.resolve((Date.now() / 1000) | 0);
54
+ }
55
+ }
56
+ //# sourceMappingURL=Timer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timer.js","sourceRoot":"","sources":["../../../src/services/Timer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { StateStore } from '../types/storage.js';
2
+ export declare class WebStorageStateStore implements StateStore {
3
+ private _store;
4
+ private _prefix;
5
+ constructor({ prefix, store }?: {
6
+ prefix?: string;
7
+ store?: Storage;
8
+ });
9
+ set(key: string, value: string): Promise<void>;
10
+ get(key: string): Promise<string | null>;
11
+ remove(key: string): Promise<string | null>;
12
+ getAllKeys(): Promise<string[]>;
13
+ }
14
+ export declare class InMemoryWebStorage implements Storage {
15
+ private _data;
16
+ getItem(key: string): string | null;
17
+ setItem(key: string, value: string): void;
18
+ removeItem(key: string): void;
19
+ get length(): number;
20
+ key(index: number): string | null;
21
+ clear(): void;
22
+ }
23
+ //# sourceMappingURL=Storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../../../src/storage/Storage.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,oBAAqB,YAAW,UAAU;IACrD,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,OAAO,CAAS;gBAEZ,EAAE,MAAgB,EAAE,KAA2B,EAAE,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;IAKxG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMxC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQ3C,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAWhC;AAED,qBAAa,kBAAmB,YAAW,OAAO;IAChD,OAAO,CAAC,KAAK,CAA8B;IAE3C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKnC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK7B,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKjC,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,65 @@
1
+ // Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.
2
+ import { Log } from '../utils/Log.js';
3
+ import { Global } from '../utils/Global.js';
4
+ export class WebStorageStateStore {
5
+ constructor({ prefix = 'oidc.', store = Global.localStorage } = {}) {
6
+ this._store = store;
7
+ this._prefix = prefix;
8
+ }
9
+ set(key, value) {
10
+ Log.debug('WebStorageStateStore.set', key);
11
+ this._store.setItem(this._prefix + key, value);
12
+ return Promise.resolve();
13
+ }
14
+ get(key) {
15
+ Log.debug('WebStorageStateStore.get', key);
16
+ const item = this._store.getItem(this._prefix + key);
17
+ return Promise.resolve(item);
18
+ }
19
+ remove(key) {
20
+ Log.debug('WebStorageStateStore.remove', key);
21
+ const prefixedKey = this._prefix + key;
22
+ const item = this._store.getItem(prefixedKey);
23
+ this._store.removeItem(prefixedKey);
24
+ return Promise.resolve(item);
25
+ }
26
+ getAllKeys() {
27
+ Log.debug('WebStorageStateStore.getAllKeys');
28
+ const keys = [];
29
+ for (let index = 0; index < this._store.length; index++) {
30
+ const key = this._store.key(index);
31
+ if (key && key.indexOf(this._prefix) === 0) {
32
+ keys.push(key.substring(this._prefix.length));
33
+ }
34
+ }
35
+ return Promise.resolve(keys);
36
+ }
37
+ }
38
+ export class InMemoryWebStorage {
39
+ constructor() {
40
+ this._data = {};
41
+ }
42
+ getItem(key) {
43
+ Log.debug('InMemoryWebStorage.getItem', key);
44
+ return Object.prototype.hasOwnProperty.call(this._data, key) ? this._data[key] : null;
45
+ }
46
+ setItem(key, value) {
47
+ Log.debug('InMemoryWebStorage.setItem', key);
48
+ this._data[key] = value;
49
+ }
50
+ removeItem(key) {
51
+ Log.debug('InMemoryWebStorage.removeItem', key);
52
+ delete this._data[key];
53
+ }
54
+ get length() {
55
+ return Object.getOwnPropertyNames(this._data).length;
56
+ }
57
+ key(index) {
58
+ const keys = Object.getOwnPropertyNames(this._data);
59
+ return (index >= 0 && index < keys.length) ? keys[index] : null;
60
+ }
61
+ clear() {
62
+ this._data = {};
63
+ }
64
+ }
65
+ //# sourceMappingURL=Storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Storage.js","sourceRoot":"","sources":["../../../src/storage/Storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export interface JwtHeader {
2
+ alg?: string;
3
+ kid?: string;
4
+ [key: string]: unknown;
5
+ }
6
+ export interface JwkKey {
7
+ kty?: string;
8
+ use?: string;
9
+ alg?: string;
10
+ kid?: string;
11
+ n?: string;
12
+ e?: string;
13
+ crv?: string;
14
+ x?: string;
15
+ y?: string;
16
+ x5c?: string[];
17
+ [key: string]: unknown;
18
+ }
19
+ export interface JwtPayload {
20
+ iss?: string;
21
+ aud?: string | string[];
22
+ azp?: string;
23
+ iat?: number;
24
+ nbf?: number;
25
+ exp?: number;
26
+ [key: string]: any;
27
+ }
28
+ export interface ParsedJwt {
29
+ header: JwtHeader;
30
+ payload: JwtPayload;
31
+ }
32
+ //# sourceMappingURL=crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../src/types/crypto.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAMD,MAAM,WAAW,MAAM;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAMD,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAMD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,UAAU,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ // Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.
2
+ export {};
3
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../src/types/crypto.ts"],"names":[],"mappings":"AAAA,2GAA2G"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Shared navigator contracts used by both Navigator.ts and Client.ts.
3
+ * Lives in src/types/ so neither module has to import the other,
4
+ * keeping the navigation and auth layers cleanly decoupled.
5
+ */
6
+ /** Parameters passed to navigator prepare() and navigate() calls. */
7
+ export interface NavigateParams {
8
+ url?: string;
9
+ useReplaceToNavigate?: boolean;
10
+ id?: string;
11
+ silentRequestTimeout?: number;
12
+ startUrl?: string;
13
+ popupWindowFeatures?: string;
14
+ popupWindowTarget?: string;
15
+ }
16
+ /** The URL resolved by a completed navigation (popup response, iframe response, or redirect target). */
17
+ export interface NavigatorResponse {
18
+ url: string;
19
+ }
20
+ /** Handle to an open navigation context returned by navigator.prepare(). */
21
+ export interface NavigatorHandle {
22
+ navigate(params: NavigateParams & {
23
+ url: string;
24
+ }): Promise<NavigatorResponse>;
25
+ close?(): void;
26
+ }
27
+ /** Common structural interface for all navigator types used by UserManager. */
28
+ export interface INavigator {
29
+ prepare(params: NavigateParams): Promise<NavigatorHandle>;
30
+ callback?(url?: string, keepOpen?: boolean, delimiter?: string): Promise<void>;
31
+ readonly url?: string;
32
+ }
33
+ //# sourceMappingURL=navigator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator.d.ts","sourceRoot":"","sources":["../../../src/types/navigator.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wGAAwG;AACxG,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/E,KAAK,CAAC,IAAI,IAAI,CAAC;CAChB;AAED,+EAA+E;AAC/E,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1D,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,3 @@
1
+ // Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.
2
+ export {};
3
+ //# sourceMappingURL=navigator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator.js","sourceRoot":"","sources":["../../../src/types/navigator.ts"],"names":[],"mappings":"AAAA,2GAA2G"}
@@ -0,0 +1,7 @@
1
+ export interface StateStore {
2
+ set(key: string, value: string): Promise<void>;
3
+ get(key: string): Promise<string | null>;
4
+ remove(key: string): Promise<string | null>;
5
+ getAllKeys(): Promise<string[]>;
6
+ }
7
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/types/storage.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5C,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACjC"}
@@ -0,0 +1,3 @@
1
+ // Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.
2
+ export {};
3
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/types/storage.ts"],"names":[],"mappings":"AAAA,2GAA2G"}
@@ -0,0 +1,6 @@
1
+ export interface UserProfile {
2
+ sub: string;
3
+ sid?: string;
4
+ [key: string]: any;
5
+ }
6
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/types/user.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
@@ -0,0 +1,3 @@
1
+ // Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.
2
+ export {};
3
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/types/user.ts"],"names":[],"mappings":"AAAA,2GAA2G"}
@@ -0,0 +1,10 @@
1
+ export type EventCallback = (...args: any[]) => void;
2
+ export declare class Event {
3
+ protected _name: string;
4
+ private _callbacks;
5
+ constructor(name: string);
6
+ addHandler(cb: EventCallback): void;
7
+ removeHandler(cb: EventCallback): void;
8
+ raise(...params: any[]): void;
9
+ }
10
+ //# sourceMappingURL=Event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Event.d.ts","sourceRoot":"","sources":["../../../src/utils/Event.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAErD,qBAAa,KAAK;IAChB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,UAAU,CAAkB;gBAExB,IAAI,EAAE,MAAM;IAKxB,UAAU,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI;IAInC,aAAa,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI;IAOtC,KAAK,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;CAM9B"}
@@ -0,0 +1,24 @@
1
+ // Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.
2
+ import { Log } from './Log.js';
3
+ export class Event {
4
+ constructor(name) {
5
+ this._name = name;
6
+ this._callbacks = [];
7
+ }
8
+ addHandler(cb) {
9
+ this._callbacks.push(cb);
10
+ }
11
+ removeHandler(cb) {
12
+ const idx = this._callbacks.findIndex(item => item === cb);
13
+ if (idx >= 0) {
14
+ this._callbacks.splice(idx, 1);
15
+ }
16
+ }
17
+ raise(...params) {
18
+ Log.debug('Event: Raising event: ' + this._name);
19
+ for (let i = 0; i < this._callbacks.length; i++) {
20
+ this._callbacks[i](...params);
21
+ }
22
+ }
23
+ }
24
+ //# sourceMappingURL=Event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Event.js","sourceRoot":"","sources":["../../../src/utils/Event.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAE3G,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B,MAAM,OAAO,KAAK;IAIhB,YAAY,IAAY;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,EAAiB;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QAC3D,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,MAAa;QACpB,GAAG,CAAC,KAAK,CAAC,wBAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ export interface TimerService {
2
+ setInterval(cb: () => void, duration: number): ReturnType<typeof setInterval>;
3
+ clearInterval(handle: ReturnType<typeof setInterval>): void;
4
+ }
5
+ export declare class Global {
6
+ static _testing(): void;
7
+ static get location(): Location | undefined;
8
+ static get localStorage(): Storage | undefined;
9
+ static get sessionStorage(): Storage | undefined;
10
+ static setXMLHttpRequest(newRequest: typeof XMLHttpRequest): void;
11
+ static get XMLHttpRequest(): typeof XMLHttpRequest | undefined;
12
+ static get timer(): TimerService | undefined;
13
+ }
14
+ //# sourceMappingURL=Global.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Global.d.ts","sourceRoot":"","sources":["../../../src/utils/Global.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IAC9E,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAC;CAC7D;AAcD,qBAAa,MAAM;IACjB,MAAM,CAAC,QAAQ,IAAI,IAAI;IAIvB,MAAM,KAAK,QAAQ,IAAI,QAAQ,GAAG,SAAS,CAK1C;IAED,MAAM,KAAK,YAAY,IAAI,OAAO,GAAG,SAAS,CAK7C;IAED,MAAM,KAAK,cAAc,IAAI,OAAO,GAAG,SAAS,CAK/C;IAED,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,cAAc,GAAG,IAAI;IAIjE,MAAM,KAAK,cAAc,IAAI,OAAO,cAAc,GAAG,SAAS,CAK7D;IAED,MAAM,KAAK,KAAK,IAAI,YAAY,GAAG,SAAS,CAK3C;CACF"}
@@ -0,0 +1,50 @@
1
+ // Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.
2
+ const timer = {
3
+ setInterval(cb, duration) {
4
+ return setInterval(cb, duration);
5
+ },
6
+ clearInterval(handle) {
7
+ clearInterval(handle);
8
+ },
9
+ };
10
+ let testing = false;
11
+ let request = null;
12
+ export class Global {
13
+ static _testing() {
14
+ testing = true;
15
+ }
16
+ static get location() {
17
+ if (!testing) {
18
+ return location;
19
+ }
20
+ return undefined;
21
+ }
22
+ static get localStorage() {
23
+ if (!testing && typeof window !== 'undefined') {
24
+ return localStorage;
25
+ }
26
+ return undefined;
27
+ }
28
+ static get sessionStorage() {
29
+ if (!testing && typeof window !== 'undefined') {
30
+ return sessionStorage;
31
+ }
32
+ return undefined;
33
+ }
34
+ static setXMLHttpRequest(newRequest) {
35
+ request = newRequest;
36
+ }
37
+ static get XMLHttpRequest() {
38
+ if (!testing && typeof window !== 'undefined') {
39
+ return request || XMLHttpRequest;
40
+ }
41
+ return undefined;
42
+ }
43
+ static get timer() {
44
+ if (!testing) {
45
+ return timer;
46
+ }
47
+ return undefined;
48
+ }
49
+ }
50
+ //# sourceMappingURL=Global.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Global.js","sourceRoot":"","sources":["../../../src/utils/Global.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAO3G,MAAM,KAAK,GAAiB;IAC1B,WAAW,CAAC,EAAE,EAAE,QAAQ;QACtB,OAAO,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,aAAa,CAAC,MAAM;QAClB,aAAa,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;CACF,CAAC;AAEF,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,IAAI,OAAO,GAAiC,IAAI,CAAC;AAEjD,MAAM,OAAO,MAAM;IACjB,MAAM,CAAC,QAAQ;QACb,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,YAAY;QACrB,IAAI,CAAC,OAAO,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAC9C,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,cAAc;QACvB,IAAI,CAAC,OAAO,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAC9C,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,UAAiC;QACxD,OAAO,GAAG,UAAU,CAAC;IACvB,CAAC;IAED,MAAM,KAAK,cAAc;QACvB,IAAI,CAAC,OAAO,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAC9C,OAAO,OAAO,IAAI,cAAc,CAAC;QACnC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,KAAK;QACd,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,30 @@
1
+ interface Logger {
2
+ debug(...args: any[]): void;
3
+ info(...args: any[]): void;
4
+ warn(...args: any[]): void;
5
+ error(...args: any[]): void;
6
+ }
7
+ interface LoggerInput {
8
+ debug?: (...args: any[]) => void;
9
+ info: (...args: any[]) => void;
10
+ warn: (...args: any[]) => void;
11
+ error: (...args: any[]) => void;
12
+ }
13
+ export declare class Log {
14
+ static get NONE(): number;
15
+ static get ERROR(): number;
16
+ static get WARN(): number;
17
+ static get INFO(): number;
18
+ static get DEBUG(): number;
19
+ static reset(): void;
20
+ static get level(): number;
21
+ static set level(value: number);
22
+ static get logger(): Logger;
23
+ static set logger(value: LoggerInput);
24
+ static debug(...args: any[]): void;
25
+ static info(...args: any[]): void;
26
+ static warn(...args: any[]): void;
27
+ static error(...args: any[]): void;
28
+ }
29
+ export {};
30
+ //# sourceMappingURL=Log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Log.d.ts","sourceRoot":"","sources":["../../../src/utils/Log.ts"],"names":[],"mappings":"AAEA,UAAU,MAAM;IACd,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC7B;AAGD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACjC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC/B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACjC;AAkBD,qBAAa,GAAG;IACd,MAAM,KAAK,IAAI,IAAI,MAAM,CAAiB;IAC1C,MAAM,KAAK,KAAK,IAAI,MAAM,CAAkB;IAC5C,MAAM,KAAK,IAAI,IAAI,MAAM,CAAiB;IAC1C,MAAM,KAAK,IAAI,IAAI,MAAM,CAAiB;IAC1C,MAAM,KAAK,KAAK,IAAI,MAAM,CAAkB;IAE5C,MAAM,CAAC,KAAK,IAAI,IAAI;IAKpB,MAAM,KAAK,KAAK,IAAI,MAAM,CAEzB;IACD,MAAM,KAAK,KAAK,CAAC,KAAK,EAAE,MAAM,EAM7B;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAE1B;IACD,MAAM,KAAK,MAAM,CAAC,KAAK,EAAE,WAAW,EAMnC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAKlC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAKjC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAKjC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;CAKnC"}
@@ -0,0 +1,68 @@
1
+ // Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.
2
+ const nopLogger = {
3
+ debug() { },
4
+ info() { },
5
+ warn() { },
6
+ error() { },
7
+ };
8
+ const NONE = 0;
9
+ const ERROR = 1;
10
+ const WARN = 2;
11
+ const INFO = 3;
12
+ const DEBUG = 4;
13
+ let logger;
14
+ let level;
15
+ export class Log {
16
+ static get NONE() { return NONE; }
17
+ static get ERROR() { return ERROR; }
18
+ static get WARN() { return WARN; }
19
+ static get INFO() { return INFO; }
20
+ static get DEBUG() { return DEBUG; }
21
+ static reset() {
22
+ level = INFO;
23
+ logger = console;
24
+ }
25
+ static get level() {
26
+ return level;
27
+ }
28
+ static set level(value) {
29
+ if (NONE <= value && value <= DEBUG) {
30
+ level = value;
31
+ }
32
+ else {
33
+ throw new Error('Invalid log level');
34
+ }
35
+ }
36
+ static get logger() {
37
+ return logger;
38
+ }
39
+ static set logger(value) {
40
+ if (!value.debug) {
41
+ // backwards compat: alias debug to info
42
+ value.debug = value.info;
43
+ }
44
+ logger = value;
45
+ }
46
+ static debug(...args) {
47
+ if (level >= DEBUG) {
48
+ logger.debug.apply(logger, args);
49
+ }
50
+ }
51
+ static info(...args) {
52
+ if (level >= INFO) {
53
+ logger.info.apply(logger, args);
54
+ }
55
+ }
56
+ static warn(...args) {
57
+ if (level >= WARN) {
58
+ logger.warn.apply(logger, args);
59
+ }
60
+ }
61
+ static error(...args) {
62
+ if (level >= ERROR) {
63
+ logger.error.apply(logger, args);
64
+ }
65
+ }
66
+ }
67
+ Log.reset();
68
+ //# sourceMappingURL=Log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Log.js","sourceRoot":"","sources":["../../../src/utils/Log.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAiB3G,MAAM,SAAS,GAAW;IACxB,KAAK,KAAI,CAAC;IACV,IAAI,KAAI,CAAC;IACT,IAAI,KAAI,CAAC;IACT,KAAK,KAAI,CAAC;CACX,CAAC;AAEF,MAAM,IAAI,GAAG,CAAC,CAAC;AACf,MAAM,KAAK,GAAG,CAAC,CAAC;AAChB,MAAM,IAAI,GAAG,CAAC,CAAC;AACf,MAAM,IAAI,GAAG,CAAC,CAAC;AACf,MAAM,KAAK,GAAG,CAAC,CAAC;AAEhB,IAAI,MAAc,CAAC;AACnB,IAAI,KAAa,CAAC;AAElB,MAAM,OAAO,GAAG;IACd,MAAM,KAAK,IAAI,KAAa,OAAO,IAAI,CAAC,CAAC,CAAC;IAC1C,MAAM,KAAK,KAAK,KAAa,OAAO,KAAK,CAAC,CAAC,CAAC;IAC5C,MAAM,KAAK,IAAI,KAAa,OAAO,IAAI,CAAC,CAAC,CAAC;IAC1C,MAAM,KAAK,IAAI,KAAa,OAAO,IAAI,CAAC,CAAC,CAAC;IAC1C,MAAM,KAAK,KAAK,KAAa,OAAO,KAAK,CAAC,CAAC,CAAC;IAE5C,MAAM,CAAC,KAAK;QACV,KAAK,GAAG,IAAI,CAAC;QACb,MAAM,GAAG,OAAO,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,KAAK;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,KAAK,CAAC,KAAa;QAC5B,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACpC,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,KAAK,MAAM,CAAC,KAAkB;QAClC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,wCAAwC;YACxC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QACD,MAAM,GAAG,KAAe,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,IAAW;QACzB,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAW;QACxB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAW;QACxB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAW;QACzB,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAED,GAAG,CAAC,KAAK,EAAE,CAAC"}
package/package.json ADDED
@@ -0,0 +1,91 @@
1
+ {
2
+ "name": "oidc-auth-client",
3
+ "version": "0.0.0",
4
+ "description": "OpenID Connect (OIDC) and OAuth 2.0 client library for JavaScript applications.",
5
+ "engines": {
6
+ "node": ">=20.9.0"
7
+ },
8
+ "type": "module",
9
+ "main": "dist/index.js",
10
+ "types": "dist/index.d.ts",
11
+ "sideEffects": false,
12
+ "scripts": {
13
+ "build": "tsc",
14
+ "type-check": "tsc --noEmit",
15
+ "test": "vitest",
16
+ "test:run": "vitest run",
17
+ "test:watch": "vitest --watch",
18
+ "test:coverage": "vitest run --coverage",
19
+ "test:package": "node --input-type=module --eval \"import('./dist/index.js').then(m => { if (!m.UserManager) throw new Error('Missing UserManager'); console.log('package OK'); })\"",
20
+ "docs": "typedoc",
21
+ "prepublishOnly": "npm run build && npm run test:run"
22
+ },
23
+ "exports": {
24
+ ".": {
25
+ "types": "./dist/index.d.ts",
26
+ "import": "./dist/index.js"
27
+ },
28
+ "./auth": {
29
+ "types": "./dist/src/auth/Client.d.ts",
30
+ "import": "./dist/src/auth/Client.js"
31
+ },
32
+ "./protocol": {
33
+ "types": "./dist/src/protocol/TokenService.d.ts",
34
+ "import": "./dist/src/protocol/TokenService.js"
35
+ },
36
+ "./storage": {
37
+ "types": "./dist/src/storage/Storage.d.ts",
38
+ "import": "./dist/src/storage/Storage.js"
39
+ },
40
+ "./utils": {
41
+ "types": "./dist/src/utils/Log.d.ts",
42
+ "import": "./dist/src/utils/Log.js"
43
+ }
44
+ },
45
+ "files": [
46
+ "dist/",
47
+ "README.md",
48
+ "LICENSE"
49
+ ],
50
+ "dependencies": {
51
+ "jose": "^6.2.2"
52
+ },
53
+ "devDependencies": {
54
+ "@types/jsdom": "^28.0.1",
55
+ "@vitest/coverage-v8": "^4.1.4",
56
+ "jsdom": "^29.0.2",
57
+ "typedoc": "^0.28.19",
58
+ "typescript": "^6.0.2",
59
+ "vitest": "^4.1.4"
60
+ },
61
+ "keywords": [
62
+ "oidc",
63
+ "openid-connect",
64
+ "oauth2",
65
+ "authentication",
66
+ "authorization",
67
+ "jwt",
68
+ "identity",
69
+ "sso",
70
+ "single-sign-on",
71
+ "pkce",
72
+ "implicit-flow",
73
+ "authorization-code",
74
+ "javascript",
75
+ "browser",
76
+ "client"
77
+ ],
78
+ "homepage": "https://github.com/callezenwaka/oidc-auth-client#readme",
79
+ "bugs": {
80
+ "url": "https://github.com/callezenwaka/oidc-auth-client/issues"
81
+ },
82
+ "repository": {
83
+ "type": "git",
84
+ "url": "git+https://github.com/callezenwaka/oidc-auth-client.git"
85
+ },
86
+ "author": {
87
+ "name": "Callis Ezenwaka",
88
+ "email": "callisezenwaka@outlook.com"
89
+ },
90
+ "license": "Apache-2.0"
91
+ }