@arv-bedrock/auth-sso 0.3.1 → 0.3.3
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 +2 -2
- package/dist/cjs/auth.js +25 -4
- package/dist/cjs/index.js +8 -1
- package/dist/cjs/types/auth.d.ts.map +1 -1
- package/dist/cjs/types/index.d.ts +6 -1
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/utils/_fetch.d.ts +8 -0
- package/dist/cjs/types/utils/_fetch.d.ts.map +1 -1
- package/dist/cjs/types/utils/constant.d.ts +6 -1
- package/dist/cjs/types/utils/constant.d.ts.map +1 -1
- package/dist/cjs/types/utils/types.d.ts +5 -0
- package/dist/cjs/types/utils/types.d.ts.map +1 -1
- package/dist/cjs/utils/_fetch.js +46 -10
- package/dist/cjs/utils/constant.js +7 -1
- package/dist/esm/auth.js +2 -1
- package/dist/esm/index.mjs +7 -1
- package/dist/esm/types/auth.d.ts.map +1 -1
- package/dist/esm/types/index.d.ts +6 -1
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/types/utils/_fetch.d.ts +8 -0
- package/dist/esm/types/utils/_fetch.d.ts.map +1 -1
- package/dist/esm/types/utils/constant.d.ts +6 -1
- package/dist/esm/types/utils/constant.d.ts.map +1 -1
- package/dist/esm/types/utils/types.d.ts +5 -0
- package/dist/esm/types/utils/types.d.ts.map +1 -1
- package/dist/esm/utils/_fetch.js +43 -10
- package/dist/esm/utils/constant.js +6 -1
- package/package.json +2 -3
package/README.md
CHANGED
|
@@ -184,7 +184,7 @@ Defines the properties required to initialize Bedrock Auth.
|
|
|
184
184
|
|
|
185
185
|
```typescript
|
|
186
186
|
export type AuthProps = {
|
|
187
|
-
userType?: UserType; // "
|
|
187
|
+
userType?: UserType; // "citizen" | "officer" (default: "officer")
|
|
188
188
|
authUri: string;
|
|
189
189
|
clientId: string;
|
|
190
190
|
clientSecret: string;
|
|
@@ -211,6 +211,6 @@ export type UpdateProfile = {
|
|
|
211
211
|
title: string;
|
|
212
212
|
firstName: string;
|
|
213
213
|
lastName: string;
|
|
214
|
-
picture?: string;
|
|
214
|
+
picture?: string | undefined | null;
|
|
215
215
|
};
|
|
216
216
|
```
|
package/dist/cjs/auth.js
CHANGED
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,11 +31,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
31
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
32
|
});
|
|
10
33
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const _fetch_1 =
|
|
35
|
+
const _fetch_1 = __importStar(require("./utils/_fetch"));
|
|
16
36
|
const constant_1 = require("./utils/constant");
|
|
17
37
|
class Auth {
|
|
18
38
|
constructor() {
|
|
@@ -104,6 +124,7 @@ class Auth {
|
|
|
104
124
|
}
|
|
105
125
|
init(options) {
|
|
106
126
|
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
+
(0, _fetch_1.setGlobalFetchOptions)(options.reconnection);
|
|
107
128
|
this.userType = options.userType;
|
|
108
129
|
this.authHost = options.authHost;
|
|
109
130
|
this.clientId = options.clientId;
|
package/dist/cjs/index.js
CHANGED
|
@@ -14,12 +14,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.doManageAccount = exports.refreshToken = exports.updateProfile = exports.disabledAccount = exports.requestInviting = exports.verifyToken = exports.getRedirectUri = exports.doPortal = exports.getCode = exports.clearCookie = exports.getProfile = exports.setCookie = exports.doRegister = exports.doLogout = exports.doLogin = exports.initBedrockAuth = void 0;
|
|
16
16
|
const auth_1 = __importDefault(require("./auth"));
|
|
17
|
-
const
|
|
17
|
+
const constant_1 = require("./utils/constant");
|
|
18
|
+
const initBedrockAuth = ({ authUri, clientId, clientSecret, callback, userType, reconnection, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
+
var _a, _b, _c;
|
|
18
20
|
yield auth_1.default.init({
|
|
19
21
|
authHost: authUri,
|
|
20
22
|
clientId,
|
|
21
23
|
clientSecret,
|
|
22
24
|
userType: userType !== null && userType !== void 0 ? userType : "officer",
|
|
25
|
+
reconnection: {
|
|
26
|
+
attempts: (_a = reconnection === null || reconnection === void 0 ? void 0 : reconnection.attempts) !== null && _a !== void 0 ? _a : constant_1.RECONNECTION.RETRY_COUNT,
|
|
27
|
+
timeout: (_b = reconnection === null || reconnection === void 0 ? void 0 : reconnection.timeout) !== null && _b !== void 0 ? _b : constant_1.RECONNECTION.TIMEOUT,
|
|
28
|
+
delay: (_c = reconnection === null || reconnection === void 0 ? void 0 : reconnection.delay) !== null && _c !== void 0 ? _c : constant_1.RECONNECTION.RETRY_DELAY,
|
|
29
|
+
},
|
|
23
30
|
})
|
|
24
31
|
.then((data) => {
|
|
25
32
|
callback(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../auth.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,UAAU,EAEV,eAAe,EAEf,OAAO,EACP,oBAAoB,EACpB,YAAY,EACZ,aAAa,EAEd,MAAM,eAAe,CAAC;AAEvB,cAAM,IAAI;IACR,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAa;;IAqB/B,SAAS;IAIF,OAAO;IAKP,cAAc;IAKrB,OAAO,CAAC,cAAc;IAUf,OAAO,CAAC,WAAW,GAAE,MAA6B;IAalD,QAAQ,iBAAwB,MAAM,mBAkB3C;IAEK,UAAU,CAAC,WAAW,GAAE,MAA6B;IAc5D,OAAO,CAAC,gBAAgB;IAQX,IAAI,CAAC,OAAO,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../auth.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,UAAU,EAEV,eAAe,EAEf,OAAO,EACP,oBAAoB,EACpB,YAAY,EACZ,aAAa,EAEd,MAAM,eAAe,CAAC;AAEvB,cAAM,IAAI;IACR,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAa;;IAqB/B,SAAS;IAIF,OAAO;IAKP,cAAc;IAKrB,OAAO,CAAC,cAAc;IAUf,OAAO,CAAC,WAAW,GAAE,MAA6B;IAalD,QAAQ,iBAAwB,MAAM,mBAkB3C;IAEK,UAAU,CAAC,WAAW,GAAE,MAA6B;IAc5D,OAAO,CAAC,gBAAgB;IAQX,IAAI,CAAC,OAAO,EAAE,OAAO;IAkBrB,SAAS,CAAC,IAAI,EAAE,MAAM;YAuBrB,oBAAoB;IAgBlC,OAAO,CAAC,QAAQ;IAIH,aAAa;YAWZ,aAAa;IAqBd,WAAW;IAYX,cAAc;IAYd,UAAU;IA2BhB,QAAQ;IASR,WAAW;IAqBX,eAAe,CACpB,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,MAAuD;IAY5D,aAAa,CAAC,IAAI,EAAE,aAAa;IAqBjC,eAAe,CAAC,IAAI,EAAE,eAAe;IAYrC,YAAY;IAkBZ,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM;CAY5C;AAED,QAAA,MAAM,WAAW,MAAa,CAAC;AAE/B,eAAe,WAAW,CAAC"}
|
|
@@ -4,9 +4,14 @@ export type AuthProps = {
|
|
|
4
4
|
authUri: string;
|
|
5
5
|
clientId: string;
|
|
6
6
|
clientSecret: string;
|
|
7
|
+
reconnection?: {
|
|
8
|
+
attempts?: number;
|
|
9
|
+
timeout?: number;
|
|
10
|
+
delay?: number;
|
|
11
|
+
};
|
|
7
12
|
callback: (error?: any) => void;
|
|
8
13
|
};
|
|
9
|
-
export declare const initBedrockAuth: ({ authUri, clientId, clientSecret, callback, userType, }: AuthProps) => Promise<void>;
|
|
14
|
+
export declare const initBedrockAuth: ({ authUri, clientId, clientSecret, callback, userType, reconnection, }: AuthProps) => Promise<void>;
|
|
10
15
|
export declare const doLogin: (redirectUrl?: string) => void;
|
|
11
16
|
export declare const doLogout: (redirectUrl?: string) => Promise<void>;
|
|
12
17
|
export declare const doRegister: (redirectUrl?: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzE,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,eAAe,2EAOzB,SAAS,kBAmBX,CAAC;AAEF,eAAO,MAAM,OAAO,iBAAkB,MAAM,SAA4B,CAAC;AAEzE,eAAO,MAAM,QAAQ,iBAAkB,MAAM,kBAA6B,CAAC;AAE3E,eAAO,MAAM,UAAU,iBAAkB,MAAM,SAA+B,CAAC;AAE/E,eAAO,MAAM,SAAS,SAAU,MAAM,kBAAuB,CAAC;AAE9D,eAAO,MAAM,UAAU,8GAAwB,CAAC;AAEhD,eAAO,MAAM,WAAW,qBAAyB,CAAC;AAElD,eAAO,MAAM,OAAO,cAAqB,CAAC;AAE1C,eAAO,MAAM,QAAQ,iCAAsB,CAAC;AAE5C,eAAO,MAAM,cAAc,cAA4B,CAAC;AAExD,eAAO,MAAM,WAAW,yDAAyB,CAAC;AAElD,eAAO,MAAM,eAAe,UAAW,MAAM,aAAa,MAAM,sDAC3B,CAAC;AAEtC,eAAO,MAAM,eAAe,SAAU,eAAe,sDAC3B,CAAC;AAE3B,eAAO,MAAM,aAAa,SAAU,aAAa,sDAA2B,CAAC;AAE7E,eAAO,MAAM,YAAY,mGAA0B,CAAC;AAEpD,eAAO,MAAM,eAAe,iBAAkB,MAAM,SACnB,CAAC"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
interface CustomFetchOptions extends RequestInit {
|
|
2
2
|
headers?: HeadersInit;
|
|
3
|
+
retryCount?: number;
|
|
4
|
+
retryDelay?: number;
|
|
5
|
+
timeout?: number;
|
|
3
6
|
}
|
|
7
|
+
export declare function setGlobalFetchOptions(options: {
|
|
8
|
+
attempts: number;
|
|
9
|
+
delay: number;
|
|
10
|
+
timeout: number;
|
|
11
|
+
}): void;
|
|
4
12
|
declare function customFetch<T>(url: string, options?: CustomFetchOptions): Promise<T>;
|
|
5
13
|
export default customFetch;
|
|
6
14
|
//# sourceMappingURL=_fetch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_fetch.d.ts","sourceRoot":"","sources":["../../../../utils/_fetch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_fetch.d.ts","sourceRoot":"","sources":["../../../../utils/_fetch.ts"],"names":[],"mappings":"AAUA,UAAU,kBAAmB,SAAQ,WAAW;IAC9C,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,QAIA;AAED,iBAAe,WAAW,CAAC,CAAC,EAC1B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,CAAC,CAAC,CA8DZ;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -4,5 +4,10 @@ declare const CLIENT_SECRET = "client_secret";
|
|
|
4
4
|
declare const CODE = "code";
|
|
5
5
|
declare const REDIRECT_URI = "redirectUri";
|
|
6
6
|
declare const LOGIN_METHOD_REQUEST = "loginMethod";
|
|
7
|
-
|
|
7
|
+
declare const RECONNECTION: {
|
|
8
|
+
RETRY_COUNT: number;
|
|
9
|
+
RETRY_DELAY: number;
|
|
10
|
+
TIMEOUT: number;
|
|
11
|
+
};
|
|
12
|
+
export { CITIZEN, CLIENT_SECRET, CODE, LOGIN_METHOD_REQUEST, OFFICER, RECONNECTION, REDIRECT_URI, };
|
|
8
13
|
//# sourceMappingURL=constant.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../../../utils/constant.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,OAAO,YAAY,CAAC;AAC1B,QAAA,MAAM,OAAO,YAAY,CAAC;AAC1B,QAAA,MAAM,aAAa,kBAAkB,CAAC;AACtC,QAAA,MAAM,IAAI,SAAS,CAAC;AACpB,QAAA,MAAM,YAAY,gBAAgB,CAAC;AACnC,QAAA,MAAM,oBAAoB,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../../../utils/constant.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,OAAO,YAAY,CAAC;AAC1B,QAAA,MAAM,OAAO,YAAY,CAAC;AAC1B,QAAA,MAAM,aAAa,kBAAkB,CAAC;AACtC,QAAA,MAAM,IAAI,SAAS,CAAC;AACpB,QAAA,MAAM,YAAY,gBAAgB,CAAC;AACnC,QAAA,MAAM,oBAAoB,gBAAgB,CAAC;AAC3C,QAAA,MAAM,YAAY;;;;CAIjB,CAAC;AAEF,OAAO,EACL,OAAO,EACP,aAAa,EACb,IAAI,EACJ,oBAAoB,EACpB,OAAO,EACP,YAAY,EACZ,YAAY,GACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEnE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7C,MAAM,WAAW,IAAI;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEnE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7C,MAAM,WAAW,IAAI;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,sBAAsB,EAAE;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B"}
|
package/dist/cjs/utils/_fetch.js
CHANGED
|
@@ -9,25 +9,61 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.setGlobalFetchOptions = void 0;
|
|
13
|
+
const constant_1 = require("./constant");
|
|
12
14
|
const defaultHeaders = {
|
|
13
15
|
"Content-Type": "application/json",
|
|
14
16
|
};
|
|
17
|
+
function setGlobalFetchOptions(options) {
|
|
18
|
+
constant_1.RECONNECTION.RETRY_COUNT = options.attempts;
|
|
19
|
+
constant_1.RECONNECTION.RETRY_DELAY = options.delay;
|
|
20
|
+
constant_1.RECONNECTION.TIMEOUT = options.timeout;
|
|
21
|
+
}
|
|
22
|
+
exports.setGlobalFetchOptions = setGlobalFetchOptions;
|
|
15
23
|
function customFetch(url, options = {}) {
|
|
24
|
+
var _a, _b, _c, _d, _e;
|
|
16
25
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17
26
|
const headers = Object.assign(Object.assign({}, defaultHeaders), options.headers);
|
|
18
27
|
const requestOptions = Object.assign(Object.assign({}, options), { credentials: "include", mode: "cors" });
|
|
28
|
+
const maxRetries = (_a = options.retryCount) !== null && _a !== void 0 ? _a : constant_1.RECONNECTION.RETRY_COUNT;
|
|
29
|
+
const retryDelay = (_b = options.retryDelay) !== null && _b !== void 0 ? _b : constant_1.RECONNECTION.RETRY_DELAY;
|
|
30
|
+
const timeout = (_c = options.timeout) !== null && _c !== void 0 ? _c : constant_1.RECONNECTION.TIMEOUT;
|
|
31
|
+
let attempt = 0;
|
|
19
32
|
requestOptions.headers = headers;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
33
|
+
while (attempt < maxRetries) {
|
|
34
|
+
try {
|
|
35
|
+
const controller = new AbortController();
|
|
36
|
+
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
37
|
+
requestOptions.signal = controller.signal;
|
|
38
|
+
const response = yield fetch(url, requestOptions);
|
|
39
|
+
clearTimeout(timeoutId);
|
|
40
|
+
let responseData = null;
|
|
41
|
+
if (!response.ok) {
|
|
42
|
+
throw new Error(`HTTP error! Status: ${response.status}`);
|
|
43
|
+
}
|
|
44
|
+
if ((_d = response.headers.get("content-type")) === null || _d === void 0 ? void 0 : _d.includes("application/json")) {
|
|
45
|
+
responseData = yield response.json();
|
|
46
|
+
}
|
|
47
|
+
const statusCode = Number((_e = responseData === null || responseData === void 0 ? void 0 : responseData.statusResponse) === null || _e === void 0 ? void 0 : _e.statusCode);
|
|
48
|
+
if (response.status >= 500 || statusCode >= 500) {
|
|
49
|
+
throw responseData;
|
|
50
|
+
}
|
|
51
|
+
if (!statusCode || statusCode < 500) {
|
|
52
|
+
return responseData;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
attempt++;
|
|
57
|
+
if (attempt >= maxRetries) {
|
|
58
|
+
if (error instanceof Error && error.name === "AbortError") {
|
|
59
|
+
throw new Error(`Timeout - URL: ${url}, Method: ${requestOptions.method}, Params: ${requestOptions}`);
|
|
60
|
+
}
|
|
61
|
+
return error;
|
|
62
|
+
}
|
|
63
|
+
yield new Promise((resolve) => setTimeout(resolve, retryDelay));
|
|
64
|
+
}
|
|
30
65
|
}
|
|
66
|
+
throw new Error("Unreachable code");
|
|
31
67
|
});
|
|
32
68
|
}
|
|
33
69
|
exports.default = customFetch;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.REDIRECT_URI = exports.OFFICER = exports.LOGIN_METHOD_REQUEST = exports.CODE = exports.CLIENT_SECRET = exports.CITIZEN = void 0;
|
|
3
|
+
exports.REDIRECT_URI = exports.RECONNECTION = exports.OFFICER = exports.LOGIN_METHOD_REQUEST = exports.CODE = exports.CLIENT_SECRET = exports.CITIZEN = void 0;
|
|
4
4
|
const CITIZEN = "citizen";
|
|
5
5
|
exports.CITIZEN = CITIZEN;
|
|
6
6
|
const OFFICER = "officer";
|
|
@@ -13,3 +13,9 @@ const REDIRECT_URI = "redirectUri";
|
|
|
13
13
|
exports.REDIRECT_URI = REDIRECT_URI;
|
|
14
14
|
const LOGIN_METHOD_REQUEST = "loginMethod";
|
|
15
15
|
exports.LOGIN_METHOD_REQUEST = LOGIN_METHOD_REQUEST;
|
|
16
|
+
const RECONNECTION = {
|
|
17
|
+
RETRY_COUNT: 3,
|
|
18
|
+
RETRY_DELAY: 500,
|
|
19
|
+
TIMEOUT: 1000,
|
|
20
|
+
};
|
|
21
|
+
exports.RECONNECTION = RECONNECTION;
|
package/dist/esm/auth.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import customFetch from "./utils/_fetch";
|
|
1
|
+
import customFetch, { setGlobalFetchOptions } from "./utils/_fetch";
|
|
2
2
|
import { CLIENT_SECRET, CODE, LOGIN_METHOD_REQUEST, REDIRECT_URI, } from "./utils/constant";
|
|
3
3
|
class Auth {
|
|
4
4
|
userType;
|
|
@@ -96,6 +96,7 @@ class Auth {
|
|
|
96
96
|
return searchParams.toString();
|
|
97
97
|
}
|
|
98
98
|
async init(options) {
|
|
99
|
+
setGlobalFetchOptions(options.reconnection);
|
|
99
100
|
this.userType = options.userType;
|
|
100
101
|
this.authHost = options.authHost;
|
|
101
102
|
this.clientId = options.clientId;
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import BR from "./auth";
|
|
2
|
-
|
|
2
|
+
import { RECONNECTION } from "./utils/constant";
|
|
3
|
+
export const initBedrockAuth = async ({ authUri, clientId, clientSecret, callback, userType, reconnection, }) => {
|
|
3
4
|
await BR.init({
|
|
4
5
|
authHost: authUri,
|
|
5
6
|
clientId,
|
|
6
7
|
clientSecret,
|
|
7
8
|
userType: userType ?? "officer",
|
|
9
|
+
reconnection: {
|
|
10
|
+
attempts: reconnection?.attempts ?? RECONNECTION.RETRY_COUNT,
|
|
11
|
+
timeout: reconnection?.timeout ?? RECONNECTION.TIMEOUT,
|
|
12
|
+
delay: reconnection?.delay ?? RECONNECTION.RETRY_DELAY,
|
|
13
|
+
},
|
|
8
14
|
})
|
|
9
15
|
.then((data) => {
|
|
10
16
|
callback(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../auth.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,UAAU,EAEV,eAAe,EAEf,OAAO,EACP,oBAAoB,EACpB,YAAY,EACZ,aAAa,EAEd,MAAM,eAAe,CAAC;AAEvB,cAAM,IAAI;IACR,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAa;;IAqB/B,SAAS;IAIF,OAAO;IAKP,cAAc;IAKrB,OAAO,CAAC,cAAc;IAUf,OAAO,CAAC,WAAW,GAAE,MAA6B;IAalD,QAAQ,iBAAwB,MAAM,mBAkB3C;IAEK,UAAU,CAAC,WAAW,GAAE,MAA6B;IAc5D,OAAO,CAAC,gBAAgB;IAQX,IAAI,CAAC,OAAO,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../auth.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,UAAU,EAEV,eAAe,EAEf,OAAO,EACP,oBAAoB,EACpB,YAAY,EACZ,aAAa,EAEd,MAAM,eAAe,CAAC;AAEvB,cAAM,IAAI;IACR,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAa;;IAqB/B,SAAS;IAIF,OAAO;IAKP,cAAc;IAKrB,OAAO,CAAC,cAAc;IAUf,OAAO,CAAC,WAAW,GAAE,MAA6B;IAalD,QAAQ,iBAAwB,MAAM,mBAkB3C;IAEK,UAAU,CAAC,WAAW,GAAE,MAA6B;IAc5D,OAAO,CAAC,gBAAgB;IAQX,IAAI,CAAC,OAAO,EAAE,OAAO;IAkBrB,SAAS,CAAC,IAAI,EAAE,MAAM;YAuBrB,oBAAoB;IAgBlC,OAAO,CAAC,QAAQ;IAIH,aAAa;YAWZ,aAAa;IAqBd,WAAW;IAYX,cAAc;IAYd,UAAU;IA2BhB,QAAQ;IASR,WAAW;IAqBX,eAAe,CACpB,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,MAAuD;IAY5D,aAAa,CAAC,IAAI,EAAE,aAAa;IAqBjC,eAAe,CAAC,IAAI,EAAE,eAAe;IAYrC,YAAY;IAkBZ,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM;CAY5C;AAED,QAAA,MAAM,WAAW,MAAa,CAAC;AAE/B,eAAe,WAAW,CAAC"}
|
|
@@ -4,9 +4,14 @@ export type AuthProps = {
|
|
|
4
4
|
authUri: string;
|
|
5
5
|
clientId: string;
|
|
6
6
|
clientSecret: string;
|
|
7
|
+
reconnection?: {
|
|
8
|
+
attempts?: number;
|
|
9
|
+
timeout?: number;
|
|
10
|
+
delay?: number;
|
|
11
|
+
};
|
|
7
12
|
callback: (error?: any) => void;
|
|
8
13
|
};
|
|
9
|
-
export declare const initBedrockAuth: ({ authUri, clientId, clientSecret, callback, userType, }: AuthProps) => Promise<void>;
|
|
14
|
+
export declare const initBedrockAuth: ({ authUri, clientId, clientSecret, callback, userType, reconnection, }: AuthProps) => Promise<void>;
|
|
10
15
|
export declare const doLogin: (redirectUrl?: string) => void;
|
|
11
16
|
export declare const doLogout: (redirectUrl?: string) => Promise<void>;
|
|
12
17
|
export declare const doRegister: (redirectUrl?: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzE,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,eAAe,2EAOzB,SAAS,kBAmBX,CAAC;AAEF,eAAO,MAAM,OAAO,iBAAkB,MAAM,SAA4B,CAAC;AAEzE,eAAO,MAAM,QAAQ,iBAAkB,MAAM,kBAA6B,CAAC;AAE3E,eAAO,MAAM,UAAU,iBAAkB,MAAM,SAA+B,CAAC;AAE/E,eAAO,MAAM,SAAS,SAAU,MAAM,kBAAuB,CAAC;AAE9D,eAAO,MAAM,UAAU,8GAAwB,CAAC;AAEhD,eAAO,MAAM,WAAW,qBAAyB,CAAC;AAElD,eAAO,MAAM,OAAO,cAAqB,CAAC;AAE1C,eAAO,MAAM,QAAQ,iCAAsB,CAAC;AAE5C,eAAO,MAAM,cAAc,cAA4B,CAAC;AAExD,eAAO,MAAM,WAAW,yDAAyB,CAAC;AAElD,eAAO,MAAM,eAAe,UAAW,MAAM,aAAa,MAAM,sDAC3B,CAAC;AAEtC,eAAO,MAAM,eAAe,SAAU,eAAe,sDAC3B,CAAC;AAE3B,eAAO,MAAM,aAAa,SAAU,aAAa,sDAA2B,CAAC;AAE7E,eAAO,MAAM,YAAY,mGAA0B,CAAC;AAEpD,eAAO,MAAM,eAAe,iBAAkB,MAAM,SACnB,CAAC"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
interface CustomFetchOptions extends RequestInit {
|
|
2
2
|
headers?: HeadersInit;
|
|
3
|
+
retryCount?: number;
|
|
4
|
+
retryDelay?: number;
|
|
5
|
+
timeout?: number;
|
|
3
6
|
}
|
|
7
|
+
export declare function setGlobalFetchOptions(options: {
|
|
8
|
+
attempts: number;
|
|
9
|
+
delay: number;
|
|
10
|
+
timeout: number;
|
|
11
|
+
}): void;
|
|
4
12
|
declare function customFetch<T>(url: string, options?: CustomFetchOptions): Promise<T>;
|
|
5
13
|
export default customFetch;
|
|
6
14
|
//# sourceMappingURL=_fetch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_fetch.d.ts","sourceRoot":"","sources":["../../../../utils/_fetch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_fetch.d.ts","sourceRoot":"","sources":["../../../../utils/_fetch.ts"],"names":[],"mappings":"AAUA,UAAU,kBAAmB,SAAQ,WAAW;IAC9C,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,QAIA;AAED,iBAAe,WAAW,CAAC,CAAC,EAC1B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,CAAC,CAAC,CA8DZ;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -4,5 +4,10 @@ declare const CLIENT_SECRET = "client_secret";
|
|
|
4
4
|
declare const CODE = "code";
|
|
5
5
|
declare const REDIRECT_URI = "redirectUri";
|
|
6
6
|
declare const LOGIN_METHOD_REQUEST = "loginMethod";
|
|
7
|
-
|
|
7
|
+
declare const RECONNECTION: {
|
|
8
|
+
RETRY_COUNT: number;
|
|
9
|
+
RETRY_DELAY: number;
|
|
10
|
+
TIMEOUT: number;
|
|
11
|
+
};
|
|
12
|
+
export { CITIZEN, CLIENT_SECRET, CODE, LOGIN_METHOD_REQUEST, OFFICER, RECONNECTION, REDIRECT_URI, };
|
|
8
13
|
//# sourceMappingURL=constant.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../../../utils/constant.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,OAAO,YAAY,CAAC;AAC1B,QAAA,MAAM,OAAO,YAAY,CAAC;AAC1B,QAAA,MAAM,aAAa,kBAAkB,CAAC;AACtC,QAAA,MAAM,IAAI,SAAS,CAAC;AACpB,QAAA,MAAM,YAAY,gBAAgB,CAAC;AACnC,QAAA,MAAM,oBAAoB,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../../../utils/constant.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,OAAO,YAAY,CAAC;AAC1B,QAAA,MAAM,OAAO,YAAY,CAAC;AAC1B,QAAA,MAAM,aAAa,kBAAkB,CAAC;AACtC,QAAA,MAAM,IAAI,SAAS,CAAC;AACpB,QAAA,MAAM,YAAY,gBAAgB,CAAC;AACnC,QAAA,MAAM,oBAAoB,gBAAgB,CAAC;AAC3C,QAAA,MAAM,YAAY;;;;CAIjB,CAAC;AAEF,OAAO,EACL,OAAO,EACP,aAAa,EACb,IAAI,EACJ,oBAAoB,EACpB,OAAO,EACP,YAAY,EACZ,YAAY,GACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEnE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7C,MAAM,WAAW,IAAI;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEnE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7C,MAAM,WAAW,IAAI;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,sBAAsB,EAAE;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B"}
|
package/dist/esm/utils/_fetch.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
|
+
import { RECONNECTION } from "./constant";
|
|
1
2
|
const defaultHeaders = {
|
|
2
3
|
"Content-Type": "application/json",
|
|
3
4
|
};
|
|
5
|
+
export function setGlobalFetchOptions(options) {
|
|
6
|
+
RECONNECTION.RETRY_COUNT = options.attempts;
|
|
7
|
+
RECONNECTION.RETRY_DELAY = options.delay;
|
|
8
|
+
RECONNECTION.TIMEOUT = options.timeout;
|
|
9
|
+
}
|
|
4
10
|
async function customFetch(url, options = {}) {
|
|
5
11
|
const headers = {
|
|
6
12
|
...defaultHeaders,
|
|
@@ -11,17 +17,44 @@ async function customFetch(url, options = {}) {
|
|
|
11
17
|
credentials: "include",
|
|
12
18
|
mode: "cors",
|
|
13
19
|
};
|
|
20
|
+
const maxRetries = options.retryCount ?? RECONNECTION.RETRY_COUNT;
|
|
21
|
+
const retryDelay = options.retryDelay ?? RECONNECTION.RETRY_DELAY;
|
|
22
|
+
const timeout = options.timeout ?? RECONNECTION.TIMEOUT;
|
|
23
|
+
let attempt = 0;
|
|
14
24
|
requestOptions.headers = headers;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
while (attempt < maxRetries) {
|
|
26
|
+
try {
|
|
27
|
+
const controller = new AbortController();
|
|
28
|
+
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
29
|
+
requestOptions.signal = controller.signal;
|
|
30
|
+
const response = await fetch(url, requestOptions);
|
|
31
|
+
clearTimeout(timeoutId);
|
|
32
|
+
let responseData = null;
|
|
33
|
+
if (!response.ok) {
|
|
34
|
+
throw new Error(`HTTP error! Status: ${response.status}`);
|
|
35
|
+
}
|
|
36
|
+
if (response.headers.get("content-type")?.includes("application/json")) {
|
|
37
|
+
responseData = await response.json();
|
|
38
|
+
}
|
|
39
|
+
const statusCode = Number(responseData?.statusResponse?.statusCode);
|
|
40
|
+
if (response.status >= 500 || statusCode >= 500) {
|
|
41
|
+
throw responseData;
|
|
42
|
+
}
|
|
43
|
+
if (!statusCode || statusCode < 500) {
|
|
44
|
+
return responseData;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
attempt++;
|
|
49
|
+
if (attempt >= maxRetries) {
|
|
50
|
+
if (error instanceof Error && error.name === "AbortError") {
|
|
51
|
+
throw new Error(`Timeout - URL: ${url}, Method: ${requestOptions.method}, Params: ${requestOptions}`);
|
|
52
|
+
}
|
|
53
|
+
return error;
|
|
54
|
+
}
|
|
55
|
+
await new Promise((resolve) => setTimeout(resolve, retryDelay));
|
|
56
|
+
}
|
|
25
57
|
}
|
|
58
|
+
throw new Error("Unreachable code");
|
|
26
59
|
}
|
|
27
60
|
export default customFetch;
|
|
@@ -4,4 +4,9 @@ const CLIENT_SECRET = "client_secret";
|
|
|
4
4
|
const CODE = "code";
|
|
5
5
|
const REDIRECT_URI = "redirectUri";
|
|
6
6
|
const LOGIN_METHOD_REQUEST = "loginMethod";
|
|
7
|
-
|
|
7
|
+
const RECONNECTION = {
|
|
8
|
+
RETRY_COUNT: 3,
|
|
9
|
+
RETRY_DELAY: 500,
|
|
10
|
+
TIMEOUT: 1000,
|
|
11
|
+
};
|
|
12
|
+
export { CITIZEN, CLIENT_SECRET, CODE, LOGIN_METHOD_REQUEST, OFFICER, RECONNECTION, REDIRECT_URI, };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arv-bedrock/auth-sso",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"main": "./dist/cjs/index.js",
|
|
5
5
|
"types": "./dist/cjs/types/index.d.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
"author": "",
|
|
18
18
|
"license": "ISC",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"axios": "^1.1.3",
|
|
21
20
|
"typescript": "4.9.4"
|
|
22
21
|
},
|
|
23
22
|
"exports": {
|
|
@@ -45,4 +44,4 @@
|
|
|
45
44
|
"semantic-release": "^20.0.2",
|
|
46
45
|
"tcs": "^10.0.2"
|
|
47
46
|
}
|
|
48
|
-
}
|
|
47
|
+
}
|