@edirect/oidc-client 3.1.2 → 3.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +14 -14
- package/.eslintignore +1 -1
- package/.eslintrc.js +46 -46
- package/.husky/pre-commit +4 -4
- package/.husky/pre-push +3 -3
- package/.prettierrc.js +6 -6
- package/README.md +39 -39
- package/dist/connect.d.ts +11 -11
- package/dist/connect.js +46 -54
- package/dist/connect.js.map +1 -1
- package/dist/grant-type/client_credentials.d.ts +16 -16
- package/dist/grant-type/client_credentials.js +57 -57
- package/dist/grant-type/password.d.ts +14 -14
- package/dist/grant-type/password.js +57 -57
- package/dist/grant-type/sso.d.ts +14 -14
- package/dist/grant-type/sso.js +64 -64
- package/dist/index.d.ts +3 -3
- package/dist/index.js +29 -29
- package/dist/token.d.ts +6 -6
- package/dist/token.js +22 -22
- package/dist/types/connect.type.d.ts +12 -12
- package/dist/types/connect.type.js +2 -2
- package/dist/types/error-handler.type.d.ts +5 -5
- package/dist/types/error-handler.type.js +2 -2
- package/dist/types/token-set.type.d.ts +21 -21
- package/dist/types/token-set.type.js +2 -2
- package/dist/utils/error-handler.d.ts +5 -5
- package/dist/utils/error-handler.js +12 -12
- package/dist/utils/parse-token.d.ts +3 -3
- package/dist/utils/parse-token.js +25 -25
- package/package.json +39 -39
package/.editorconfig
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
root = true
|
|
2
|
-
|
|
3
|
-
[*]
|
|
4
|
-
end_of_line = lf
|
|
5
|
-
insert_final_newline = true
|
|
6
|
-
charset = utf-8
|
|
7
|
-
|
|
8
|
-
[*.js]
|
|
9
|
-
indent_style = space
|
|
10
|
-
indent_size = 2
|
|
11
|
-
trim_trailing_whitespace = true
|
|
12
|
-
|
|
13
|
-
[*.md]
|
|
14
|
-
trim_trailing_whitespace = false
|
|
1
|
+
root = true
|
|
2
|
+
|
|
3
|
+
[*]
|
|
4
|
+
end_of_line = lf
|
|
5
|
+
insert_final_newline = true
|
|
6
|
+
charset = utf-8
|
|
7
|
+
|
|
8
|
+
[*.js]
|
|
9
|
+
indent_style = space
|
|
10
|
+
indent_size = 2
|
|
11
|
+
trim_trailing_whitespace = true
|
|
12
|
+
|
|
13
|
+
[*.md]
|
|
14
|
+
trim_trailing_whitespace = false
|
package/.eslintignore
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
/node_modules
|
|
1
|
+
/node_modules
|
package/.eslintrc.js
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
root: true,
|
|
3
|
-
env: {
|
|
4
|
-
node: true,
|
|
5
|
-
es6: true,
|
|
6
|
-
},
|
|
7
|
-
parserOptions: {
|
|
8
|
-
ecmaFeatures: {
|
|
9
|
-
jsx: true,
|
|
10
|
-
},
|
|
11
|
-
ecmaVersion: 2018,
|
|
12
|
-
sourceType: 'module',
|
|
13
|
-
project: './tsconfig.json',
|
|
14
|
-
tsconfigRootDir: __dirname,
|
|
15
|
-
},
|
|
16
|
-
ignorePatterns: ['node_modules/*', 'dist/*', '!.prettierrc.js'],
|
|
17
|
-
extends: ['eslint:recommended'],
|
|
18
|
-
overrides: [
|
|
19
|
-
{
|
|
20
|
-
files: ['./src/**/*.ts'],
|
|
21
|
-
parser: '@typescript-eslint/parser',
|
|
22
|
-
settings: {
|
|
23
|
-
react: {
|
|
24
|
-
version: 'detect',
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
env: {
|
|
28
|
-
browser: true,
|
|
29
|
-
node: true,
|
|
30
|
-
es6: true,
|
|
31
|
-
},
|
|
32
|
-
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],
|
|
33
|
-
rules: {
|
|
34
|
-
'@typescript-eslint/no-unused-vars': ['error'],
|
|
35
|
-
|
|
36
|
-
'@typescript-eslint/explicit-function-return-type': [
|
|
37
|
-
'warn',
|
|
38
|
-
{
|
|
39
|
-
allowExpressions: true,
|
|
40
|
-
allowConciseArrowFunctionExpressionsStartingWithVoid: true,
|
|
41
|
-
},
|
|
42
|
-
],
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
],
|
|
46
|
-
};
|
|
1
|
+
module.exports = {
|
|
2
|
+
root: true,
|
|
3
|
+
env: {
|
|
4
|
+
node: true,
|
|
5
|
+
es6: true,
|
|
6
|
+
},
|
|
7
|
+
parserOptions: {
|
|
8
|
+
ecmaFeatures: {
|
|
9
|
+
jsx: true,
|
|
10
|
+
},
|
|
11
|
+
ecmaVersion: 2018,
|
|
12
|
+
sourceType: 'module',
|
|
13
|
+
project: './tsconfig.json',
|
|
14
|
+
tsconfigRootDir: __dirname,
|
|
15
|
+
},
|
|
16
|
+
ignorePatterns: ['node_modules/*', 'dist/*', '!.prettierrc.js'],
|
|
17
|
+
extends: ['eslint:recommended'],
|
|
18
|
+
overrides: [
|
|
19
|
+
{
|
|
20
|
+
files: ['./src/**/*.ts'],
|
|
21
|
+
parser: '@typescript-eslint/parser',
|
|
22
|
+
settings: {
|
|
23
|
+
react: {
|
|
24
|
+
version: 'detect',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
env: {
|
|
28
|
+
browser: true,
|
|
29
|
+
node: true,
|
|
30
|
+
es6: true,
|
|
31
|
+
},
|
|
32
|
+
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],
|
|
33
|
+
rules: {
|
|
34
|
+
'@typescript-eslint/no-unused-vars': ['error'],
|
|
35
|
+
|
|
36
|
+
'@typescript-eslint/explicit-function-return-type': [
|
|
37
|
+
'warn',
|
|
38
|
+
{
|
|
39
|
+
allowExpressions: true,
|
|
40
|
+
allowConciseArrowFunctionExpressionsStartingWithVoid: true,
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
};
|
package/.husky/pre-commit
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
. "$(dirname "$0")/_/husky.sh"
|
|
3
|
-
|
|
4
|
-
npm run lint
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
. "$(dirname "$0")/_/husky.sh"
|
|
3
|
+
|
|
4
|
+
npm run lint
|
package/.husky/pre-push
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
. "$(dirname "$0")/_/husky.sh"
|
|
3
|
-
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
. "$(dirname "$0")/_/husky.sh"
|
|
3
|
+
|
|
4
4
|
npm run build
|
package/.prettierrc.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
singleQuote: true,
|
|
3
|
-
trailingComma: "all",
|
|
4
|
-
tabWidth: 2,
|
|
5
|
-
semi: true,
|
|
6
|
-
};
|
|
1
|
+
module.exports = {
|
|
2
|
+
singleQuote: true,
|
|
3
|
+
trailingComma: "all",
|
|
4
|
+
tabWidth: 2,
|
|
5
|
+
semi: true,
|
|
6
|
+
};
|
package/README.md
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
# @edirect/oidc-client
|
|
2
|
-
|
|
3
|
-
The EDirectInsure OpenId Connect Client.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```shell
|
|
8
|
-
$ npm i --save @edirect/oidc-client
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Usage
|
|
12
|
-
|
|
13
|
-
```js
|
|
14
|
-
(async () => {
|
|
15
|
-
const OidcClient = require('@edirect/oidc-client');
|
|
16
|
-
const oidcClient = await OidcClient({
|
|
17
|
-
grantType: 'GRANT_TYPE',
|
|
18
|
-
baseUrl: 'OIDC_PROVIDER_URL',
|
|
19
|
-
oidcPath: 'OIDC_PROVIDER_PATH',
|
|
20
|
-
clientId: 'YOUR_CLIENT_ID',
|
|
21
|
-
clientSecret: 'YOUR_CLIENT_SECRET',
|
|
22
|
-
redirectUri: 'YOUR_CALLBACK_URL'
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
const loginData = {
|
|
26
|
-
username: 'USERNAME',
|
|
27
|
-
password: 'PASSWORD',
|
|
28
|
-
}; // only necessary to password grant type
|
|
29
|
-
|
|
30
|
-
const accessTokenSet = await oidcClient
|
|
31
|
-
.getAccessToken(loginData || undefined);
|
|
32
|
-
console.log('\n', { accessTokenSet }, '\n');
|
|
33
|
-
|
|
34
|
-
// not applicable to client_credentials grant type
|
|
35
|
-
const refreshTokenSet = await oidcClient
|
|
36
|
-
.getRefreshToken(accessTokenSet);
|
|
37
|
-
console.log('\n', { refreshTokenSet }, '\n');
|
|
38
|
-
})()
|
|
39
|
-
```
|
|
1
|
+
# @edirect/oidc-client
|
|
2
|
+
|
|
3
|
+
The EDirectInsure OpenId Connect Client.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```shell
|
|
8
|
+
$ npm i --save @edirect/oidc-client
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```js
|
|
14
|
+
(async () => {
|
|
15
|
+
const OidcClient = require('@edirect/oidc-client');
|
|
16
|
+
const oidcClient = await OidcClient({
|
|
17
|
+
grantType: 'GRANT_TYPE',
|
|
18
|
+
baseUrl: 'OIDC_PROVIDER_URL',
|
|
19
|
+
oidcPath: 'OIDC_PROVIDER_PATH',
|
|
20
|
+
clientId: 'YOUR_CLIENT_ID',
|
|
21
|
+
clientSecret: 'YOUR_CLIENT_SECRET',
|
|
22
|
+
redirectUri: 'YOUR_CALLBACK_URL'
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const loginData = {
|
|
26
|
+
username: 'USERNAME',
|
|
27
|
+
password: 'PASSWORD',
|
|
28
|
+
}; // only necessary to password grant type
|
|
29
|
+
|
|
30
|
+
const accessTokenSet = await oidcClient
|
|
31
|
+
.getAccessToken(loginData || undefined);
|
|
32
|
+
console.log('\n', { accessTokenSet }, '\n');
|
|
33
|
+
|
|
34
|
+
// not applicable to client_credentials grant type
|
|
35
|
+
const refreshTokenSet = await oidcClient
|
|
36
|
+
.getRefreshToken(accessTokenSet);
|
|
37
|
+
console.log('\n', { refreshTokenSet }, '\n');
|
|
38
|
+
})()
|
|
39
|
+
```
|
package/dist/connect.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Client } from 'openid-client';
|
|
2
|
-
import { ErrorHandlerType } from './types/error-handler.type';
|
|
3
|
-
import { Connect } from './types/connect.type';
|
|
4
|
-
export default class OidcConnect {
|
|
5
|
-
client: Client;
|
|
6
|
-
baseUrl: string;
|
|
7
|
-
redirectUri?: string;
|
|
8
|
-
ErrorHandler: ErrorHandlerType;
|
|
9
|
-
constructor();
|
|
10
|
-
connect({ baseUrl, oidcPath, clientId, clientSecret, redirectUri, responseTypes, grantTypes, timeout, }: Connect): Promise<Client>;
|
|
11
|
-
}
|
|
1
|
+
import { Client } from 'openid-client';
|
|
2
|
+
import { ErrorHandlerType } from './types/error-handler.type';
|
|
3
|
+
import { Connect } from './types/connect.type';
|
|
4
|
+
export default class OidcConnect {
|
|
5
|
+
client: Client;
|
|
6
|
+
baseUrl: string;
|
|
7
|
+
redirectUri?: string;
|
|
8
|
+
ErrorHandler: ErrorHandlerType;
|
|
9
|
+
constructor();
|
|
10
|
+
connect({ baseUrl, oidcPath, clientId, clientSecret, redirectUri, responseTypes, grantTypes, timeout, }: Connect): Promise<Client>;
|
|
11
|
+
}
|
package/dist/connect.js
CHANGED
|
@@ -1,55 +1,47 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const openid_client_1 = require("openid-client");
|
|
16
|
-
const http_1 = __importDefault(require("http"));
|
|
17
|
-
const https_1 = __importDefault(require("https"));
|
|
18
|
-
const error_handler_1 = __importDefault(require("./utils/error-handler"));
|
|
19
|
-
class OidcConnect {
|
|
20
|
-
constructor() {
|
|
21
|
-
this.ErrorHandler = error_handler_1.default;
|
|
22
|
-
}
|
|
23
|
-
connect({ baseUrl, oidcPath, clientId, clientSecret, redirectUri, responseTypes, grantTypes, timeout, }) {
|
|
24
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
this.baseUrl = baseUrl;
|
|
26
|
-
this.redirectUri = redirectUri;
|
|
27
|
-
const oidcConfiguration = {
|
|
28
|
-
client_id: clientId,
|
|
29
|
-
client_secret: clientSecret,
|
|
30
|
-
redirect_uris: [redirectUri],
|
|
31
|
-
response_types: responseTypes,
|
|
32
|
-
grant_types: grantTypes,
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
const oidcIssuer = yield openid_client_1.Issuer.discover(`${baseUrl}/${oidcPath}`);
|
|
49
|
-
this.client = new oidcIssuer.Client(oidcConfiguration);
|
|
50
|
-
return this.client;
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
exports.default = OidcConnect;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const openid_client_1 = require("openid-client");
|
|
16
|
+
const http_1 = __importDefault(require("http"));
|
|
17
|
+
const https_1 = __importDefault(require("https"));
|
|
18
|
+
const error_handler_1 = __importDefault(require("./utils/error-handler"));
|
|
19
|
+
class OidcConnect {
|
|
20
|
+
constructor() {
|
|
21
|
+
this.ErrorHandler = error_handler_1.default;
|
|
22
|
+
}
|
|
23
|
+
connect({ baseUrl, oidcPath, clientId, clientSecret, redirectUri, responseTypes, grantTypes, timeout, }) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
this.baseUrl = baseUrl;
|
|
26
|
+
this.redirectUri = redirectUri;
|
|
27
|
+
const oidcConfiguration = {
|
|
28
|
+
client_id: clientId,
|
|
29
|
+
client_secret: clientSecret,
|
|
30
|
+
redirect_uris: [redirectUri],
|
|
31
|
+
response_types: responseTypes,
|
|
32
|
+
grant_types: grantTypes,
|
|
33
|
+
};
|
|
34
|
+
if (openid_client_1.custom && openid_client_1.custom.setHttpOptionsDefaults) {
|
|
35
|
+
openid_client_1.custom.setHttpOptionsDefaults({
|
|
36
|
+
timeout: timeout || 60000,
|
|
37
|
+
agent: baseUrl.includes('https') ? new https_1.default.Agent({ keepAlive: true }) : new http_1.default.Agent({ keepAlive: true })
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
const oidcIssuer = yield openid_client_1.Issuer.discover(`${baseUrl}/${oidcPath}`);
|
|
41
|
+
this.client = new oidcIssuer.Client(oidcConfiguration);
|
|
42
|
+
return this.client;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.default = OidcConnect;
|
|
55
47
|
//# sourceMappingURL=connect.js.map
|
package/dist/connect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,iDAAuE;AACvE,gDAAwB;AACxB,kDAA0B;AAE1B,0EAAiD;AAIjD,MAAqB,WAAW;IAM9B;QACE,IAAI,CAAC,YAAY,GAAG,uBAAY,CAAC;IACnC,CAAC;IAEK,OAAO,CAAC,EACZ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,OAAO,GACC;;YACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAE/B,MAAM,iBAAiB,GAAmB;gBACxC,SAAS,EAAE,QAAQ;gBACnB,aAAa,EAAE,YAAY;gBAC3B,aAAa,EAAE,CAAC,WAAqB,CAAC;gBACtC,cAAc,EAAE,aAAa;gBAC7B,WAAW,EAAE,UAAU;aACxB,CAAC;YAEF,
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,iDAAuE;AACvE,gDAAwB;AACxB,kDAA0B;AAE1B,0EAAiD;AAIjD,MAAqB,WAAW;IAM9B;QACE,IAAI,CAAC,YAAY,GAAG,uBAAY,CAAC;IACnC,CAAC;IAEK,OAAO,CAAC,EACZ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,OAAO,GACC;;YACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAE/B,MAAM,iBAAiB,GAAmB;gBACxC,SAAS,EAAE,QAAQ;gBACnB,aAAa,EAAE,YAAY;gBAC3B,aAAa,EAAE,CAAC,WAAqB,CAAC;gBACtC,cAAc,EAAE,aAAa;gBAC7B,WAAW,EAAE,UAAU;aACxB,CAAC;YAEF,IAAI,sBAAM,IAAI,sBAAM,CAAC,sBAAsB,EAAE;gBAE3C,sBAAM,CAAC,sBAAsB,CAAC;oBAC5B,OAAO,EAAE,OAAO,IAAI,KAAK;oBACzB,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,cAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;iBAC9G,CAAC,CAAC;aACJ;YAED,MAAM,UAAU,GAAG,MAAM,sBAAM,CAAC,QAAQ,CAAC,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;KAAA;CACF;AA3CD,8BA2CC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { Client } from 'openid-client';
|
|
2
|
-
import OidcConnect from '../connect';
|
|
3
|
-
import { Connect } from '../types/connect.type';
|
|
4
|
-
import { GrantTypeErrorHandlerType } from '../types/error-handler.type';
|
|
5
|
-
import { TokenSet } from '../types/token-set.type';
|
|
6
|
-
declare class OidcClient extends OidcConnect {
|
|
7
|
-
errorHandler: GrantTypeErrorHandlerType;
|
|
8
|
-
setToken: (token: TokenSet, revert?: boolean) => TokenSet;
|
|
9
|
-
getToken: (revert?: boolean) => TokenSet | null;
|
|
10
|
-
constructor();
|
|
11
|
-
connect({ baseUrl, oidcPath, clientId, clientSecret, redirectUri, }: Connect): Promise<Client>;
|
|
12
|
-
getAccessToken(data: Record<string, unknown>): Promise<TokenSet | null | void>;
|
|
13
|
-
getRefreshToken(): Promise<void>;
|
|
14
|
-
}
|
|
15
|
-
export declare const oidc: OidcClient;
|
|
16
|
-
export {};
|
|
1
|
+
import { Client } from 'openid-client';
|
|
2
|
+
import OidcConnect from '../connect';
|
|
3
|
+
import { Connect } from '../types/connect.type';
|
|
4
|
+
import { GrantTypeErrorHandlerType } from '../types/error-handler.type';
|
|
5
|
+
import { TokenSet } from '../types/token-set.type';
|
|
6
|
+
declare class OidcClient extends OidcConnect {
|
|
7
|
+
errorHandler: GrantTypeErrorHandlerType;
|
|
8
|
+
setToken: (token: TokenSet, revert?: boolean) => TokenSet;
|
|
9
|
+
getToken: (revert?: boolean) => TokenSet | null;
|
|
10
|
+
constructor();
|
|
11
|
+
connect({ baseUrl, oidcPath, clientId, clientSecret, redirectUri, }: Connect): Promise<Client>;
|
|
12
|
+
getAccessToken(data: Record<string, unknown>): Promise<TokenSet | null | void>;
|
|
13
|
+
getRefreshToken(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export declare const oidc: OidcClient;
|
|
16
|
+
export {};
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.oidc = void 0;
|
|
16
|
-
const connect_1 = __importDefault(require("../connect"));
|
|
17
|
-
const token_1 = __importDefault(require("../token"));
|
|
18
|
-
const grantType = 'client_credentials';
|
|
19
|
-
class OidcClient extends connect_1.default {
|
|
20
|
-
constructor() {
|
|
21
|
-
super();
|
|
22
|
-
this.errorHandler = this.ErrorHandler(grantType);
|
|
23
|
-
const { getToken, setToken } = new token_1.default();
|
|
24
|
-
this.getToken = getToken;
|
|
25
|
-
this.setToken = setToken;
|
|
26
|
-
}
|
|
27
|
-
connect({ baseUrl, oidcPath, clientId, clientSecret, redirectUri, }) {
|
|
28
|
-
return super.connect({
|
|
29
|
-
baseUrl,
|
|
30
|
-
oidcPath,
|
|
31
|
-
clientId,
|
|
32
|
-
clientSecret,
|
|
33
|
-
redirectUri,
|
|
34
|
-
responseTypes: ['none'],
|
|
35
|
-
grantTypes: [grantType],
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
getAccessToken(data) {
|
|
39
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
if (!this.client)
|
|
41
|
-
throw new Error(`[${grantType}] Client not initialized.`);
|
|
42
|
-
if (this.getToken())
|
|
43
|
-
return this.getToken();
|
|
44
|
-
const params = Object.assign({ grant_type: grantType }, data);
|
|
45
|
-
return this.client
|
|
46
|
-
.grant(params)
|
|
47
|
-
.then((tokenSet) => this.setToken(tokenSet))
|
|
48
|
-
.catch(this.errorHandler);
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
getRefreshToken() {
|
|
52
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
-
throw new Error(`[${grantType}] This method is not allowed to this grant type.`);
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
exports.oidc = new OidcClient();
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.oidc = void 0;
|
|
16
|
+
const connect_1 = __importDefault(require("../connect"));
|
|
17
|
+
const token_1 = __importDefault(require("../token"));
|
|
18
|
+
const grantType = 'client_credentials';
|
|
19
|
+
class OidcClient extends connect_1.default {
|
|
20
|
+
constructor() {
|
|
21
|
+
super();
|
|
22
|
+
this.errorHandler = this.ErrorHandler(grantType);
|
|
23
|
+
const { getToken, setToken } = new token_1.default();
|
|
24
|
+
this.getToken = getToken;
|
|
25
|
+
this.setToken = setToken;
|
|
26
|
+
}
|
|
27
|
+
connect({ baseUrl, oidcPath, clientId, clientSecret, redirectUri, }) {
|
|
28
|
+
return super.connect({
|
|
29
|
+
baseUrl,
|
|
30
|
+
oidcPath,
|
|
31
|
+
clientId,
|
|
32
|
+
clientSecret,
|
|
33
|
+
redirectUri,
|
|
34
|
+
responseTypes: ['none'],
|
|
35
|
+
grantTypes: [grantType],
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
getAccessToken(data) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
if (!this.client)
|
|
41
|
+
throw new Error(`[${grantType}] Client not initialized.`);
|
|
42
|
+
if (this.getToken())
|
|
43
|
+
return this.getToken();
|
|
44
|
+
const params = Object.assign({ grant_type: grantType }, data);
|
|
45
|
+
return this.client
|
|
46
|
+
.grant(params)
|
|
47
|
+
.then((tokenSet) => this.setToken(tokenSet))
|
|
48
|
+
.catch(this.errorHandler);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
getRefreshToken() {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
throw new Error(`[${grantType}] This method is not allowed to this grant type.`);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.oidc = new OidcClient();
|
|
58
58
|
//# sourceMappingURL=client_credentials.js.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Client } from 'openid-client';
|
|
2
|
-
import { Connect } from '../types/connect.type';
|
|
3
|
-
import { GrantTypeErrorHandlerType } from '../types/error-handler.type';
|
|
4
|
-
import { TokenSet } from '../types/token-set.type';
|
|
5
|
-
import OidcConnect from '../connect';
|
|
6
|
-
declare class OidcClient extends OidcConnect {
|
|
7
|
-
errorHandler: GrantTypeErrorHandlerType;
|
|
8
|
-
constructor();
|
|
9
|
-
connect({ baseUrl, oidcPath, clientId, clientSecret, redirectUri, }: Connect): Promise<Client>;
|
|
10
|
-
getAccessToken(data: Record<string, unknown>): Promise<TokenSet | null | void>;
|
|
11
|
-
getRefreshToken(tokenSet: TokenSet): Promise<TokenSet | null | void>;
|
|
12
|
-
}
|
|
13
|
-
export declare const oidc: OidcClient;
|
|
14
|
-
export {};
|
|
1
|
+
import { Client } from 'openid-client';
|
|
2
|
+
import { Connect } from '../types/connect.type';
|
|
3
|
+
import { GrantTypeErrorHandlerType } from '../types/error-handler.type';
|
|
4
|
+
import { TokenSet } from '../types/token-set.type';
|
|
5
|
+
import OidcConnect from '../connect';
|
|
6
|
+
declare class OidcClient extends OidcConnect {
|
|
7
|
+
errorHandler: GrantTypeErrorHandlerType;
|
|
8
|
+
constructor();
|
|
9
|
+
connect({ baseUrl, oidcPath, clientId, clientSecret, redirectUri, }: Connect): Promise<Client>;
|
|
10
|
+
getAccessToken(data: Record<string, unknown>): Promise<TokenSet | null | void>;
|
|
11
|
+
getRefreshToken(tokenSet: TokenSet): Promise<TokenSet | null | void>;
|
|
12
|
+
}
|
|
13
|
+
export declare const oidc: OidcClient;
|
|
14
|
+
export {};
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.oidc = void 0;
|
|
16
|
-
const connect_1 = __importDefault(require("../connect"));
|
|
17
|
-
const parse_token_1 = __importDefault(require("../utils/parse-token"));
|
|
18
|
-
const grantType = 'password';
|
|
19
|
-
class OidcClient extends connect_1.default {
|
|
20
|
-
constructor() {
|
|
21
|
-
super();
|
|
22
|
-
this.errorHandler = this.ErrorHandler(grantType);
|
|
23
|
-
}
|
|
24
|
-
connect({ baseUrl, oidcPath, clientId, clientSecret, redirectUri, }) {
|
|
25
|
-
return super.connect({
|
|
26
|
-
baseUrl,
|
|
27
|
-
oidcPath,
|
|
28
|
-
clientId,
|
|
29
|
-
clientSecret,
|
|
30
|
-
redirectUri,
|
|
31
|
-
responseTypes: ['none'],
|
|
32
|
-
grantTypes: [grantType, 'refresh_token'],
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
getAccessToken(data) {
|
|
36
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
if (!this.client)
|
|
38
|
-
throw new Error(`[${grantType}] Client not initialized.`);
|
|
39
|
-
const params = Object.assign({ grant_type: grantType }, data);
|
|
40
|
-
return this.client
|
|
41
|
-
.grant(params)
|
|
42
|
-
.then((tokenSet) => (0, parse_token_1.default)(tokenSet))
|
|
43
|
-
.catch(this.errorHandler);
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
getRefreshToken(tokenSet) {
|
|
47
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
if (!this.client)
|
|
49
|
-
throw new Error(`[${grantType}] Client not initialized.`);
|
|
50
|
-
return this.client
|
|
51
|
-
.refresh(tokenSet.refreshToken)
|
|
52
|
-
.then((tokenSet) => (0, parse_token_1.default)(tokenSet))
|
|
53
|
-
.catch(this.errorHandler);
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
exports.oidc = new OidcClient();
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.oidc = void 0;
|
|
16
|
+
const connect_1 = __importDefault(require("../connect"));
|
|
17
|
+
const parse_token_1 = __importDefault(require("../utils/parse-token"));
|
|
18
|
+
const grantType = 'password';
|
|
19
|
+
class OidcClient extends connect_1.default {
|
|
20
|
+
constructor() {
|
|
21
|
+
super();
|
|
22
|
+
this.errorHandler = this.ErrorHandler(grantType);
|
|
23
|
+
}
|
|
24
|
+
connect({ baseUrl, oidcPath, clientId, clientSecret, redirectUri, }) {
|
|
25
|
+
return super.connect({
|
|
26
|
+
baseUrl,
|
|
27
|
+
oidcPath,
|
|
28
|
+
clientId,
|
|
29
|
+
clientSecret,
|
|
30
|
+
redirectUri,
|
|
31
|
+
responseTypes: ['none'],
|
|
32
|
+
grantTypes: [grantType, 'refresh_token'],
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
getAccessToken(data) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
if (!this.client)
|
|
38
|
+
throw new Error(`[${grantType}] Client not initialized.`);
|
|
39
|
+
const params = Object.assign({ grant_type: grantType }, data);
|
|
40
|
+
return this.client
|
|
41
|
+
.grant(params)
|
|
42
|
+
.then((tokenSet) => (0, parse_token_1.default)(tokenSet))
|
|
43
|
+
.catch(this.errorHandler);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
getRefreshToken(tokenSet) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
if (!this.client)
|
|
49
|
+
throw new Error(`[${grantType}] Client not initialized.`);
|
|
50
|
+
return this.client
|
|
51
|
+
.refresh(tokenSet.refreshToken)
|
|
52
|
+
.then((tokenSet) => (0, parse_token_1.default)(tokenSet))
|
|
53
|
+
.catch(this.errorHandler);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.oidc = new OidcClient();
|
|
58
58
|
//# sourceMappingURL=password.js.map
|
package/dist/grant-type/sso.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Client } from 'openid-client';
|
|
2
|
-
import OidcConnect from '../connect';
|
|
3
|
-
import { Connect } from '../types/connect.type';
|
|
4
|
-
import { TokenSet } from '../types/token-set.type';
|
|
5
|
-
import { GrantTypeErrorHandlerType } from '../types/error-handler.type';
|
|
6
|
-
declare class OidcClient extends OidcConnect {
|
|
7
|
-
errorHandler: GrantTypeErrorHandlerType;
|
|
8
|
-
constructor();
|
|
9
|
-
connect({ baseUrl, oidcPath, clientId, clientSecret, redirectUri, }: Connect): Promise<Client>;
|
|
10
|
-
getAccessToken(data: Record<string, unknown>): Promise<TokenSet | null | void>;
|
|
11
|
-
getRefreshToken(tokenSet: TokenSet): Promise<TokenSet | null | void>;
|
|
12
|
-
}
|
|
13
|
-
export declare const oidc: OidcClient;
|
|
14
|
-
export {};
|
|
1
|
+
import { Client } from 'openid-client';
|
|
2
|
+
import OidcConnect from '../connect';
|
|
3
|
+
import { Connect } from '../types/connect.type';
|
|
4
|
+
import { TokenSet } from '../types/token-set.type';
|
|
5
|
+
import { GrantTypeErrorHandlerType } from '../types/error-handler.type';
|
|
6
|
+
declare class OidcClient extends OidcConnect {
|
|
7
|
+
errorHandler: GrantTypeErrorHandlerType;
|
|
8
|
+
constructor();
|
|
9
|
+
connect({ baseUrl, oidcPath, clientId, clientSecret, redirectUri, }: Connect): Promise<Client>;
|
|
10
|
+
getAccessToken(data: Record<string, unknown>): Promise<TokenSet | null | void>;
|
|
11
|
+
getRefreshToken(tokenSet: TokenSet): Promise<TokenSet | null | void>;
|
|
12
|
+
}
|
|
13
|
+
export declare const oidc: OidcClient;
|
|
14
|
+
export {};
|
package/dist/grant-type/sso.js
CHANGED
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.oidc = void 0;
|
|
16
|
-
const connect_1 = __importDefault(require("../connect"));
|
|
17
|
-
const parse_token_1 = __importDefault(require("../utils/parse-token"));
|
|
18
|
-
const grantType = 'sso';
|
|
19
|
-
class OidcClient extends connect_1.default {
|
|
20
|
-
constructor() {
|
|
21
|
-
super();
|
|
22
|
-
this.errorHandler = this.ErrorHandler(grantType);
|
|
23
|
-
}
|
|
24
|
-
connect({ baseUrl, oidcPath, clientId, clientSecret, redirectUri, }) {
|
|
25
|
-
return super.connect({
|
|
26
|
-
baseUrl,
|
|
27
|
-
oidcPath,
|
|
28
|
-
clientId,
|
|
29
|
-
clientSecret,
|
|
30
|
-
redirectUri,
|
|
31
|
-
responseTypes: ['none'],
|
|
32
|
-
grantTypes: ['sso', 'refresh_token'],
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
getAccessToken(data) {
|
|
36
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
try {
|
|
38
|
-
const params = Object.assign({ grant_type: 'sso' }, data);
|
|
39
|
-
return this.client
|
|
40
|
-
.grant(params)
|
|
41
|
-
.then((tokenSet) => (0, parse_token_1.default)(tokenSet))
|
|
42
|
-
.catch(this.errorHandler);
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
getRefreshToken(tokenSet) {
|
|
50
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
-
try {
|
|
52
|
-
const refreshTokenSet = yield this.client
|
|
53
|
-
.refresh(tokenSet.refreshToken)
|
|
54
|
-
.then((tokenSet) => (0, parse_token_1.default)(tokenSet))
|
|
55
|
-
.catch(this.errorHandler);
|
|
56
|
-
return refreshTokenSet;
|
|
57
|
-
}
|
|
58
|
-
catch (error) {
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
exports.oidc = new OidcClient();
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.oidc = void 0;
|
|
16
|
+
const connect_1 = __importDefault(require("../connect"));
|
|
17
|
+
const parse_token_1 = __importDefault(require("../utils/parse-token"));
|
|
18
|
+
const grantType = 'sso';
|
|
19
|
+
class OidcClient extends connect_1.default {
|
|
20
|
+
constructor() {
|
|
21
|
+
super();
|
|
22
|
+
this.errorHandler = this.ErrorHandler(grantType);
|
|
23
|
+
}
|
|
24
|
+
connect({ baseUrl, oidcPath, clientId, clientSecret, redirectUri, }) {
|
|
25
|
+
return super.connect({
|
|
26
|
+
baseUrl,
|
|
27
|
+
oidcPath,
|
|
28
|
+
clientId,
|
|
29
|
+
clientSecret,
|
|
30
|
+
redirectUri,
|
|
31
|
+
responseTypes: ['none'],
|
|
32
|
+
grantTypes: ['sso', 'refresh_token'],
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
getAccessToken(data) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
try {
|
|
38
|
+
const params = Object.assign({ grant_type: 'sso' }, data);
|
|
39
|
+
return this.client
|
|
40
|
+
.grant(params)
|
|
41
|
+
.then((tokenSet) => (0, parse_token_1.default)(tokenSet))
|
|
42
|
+
.catch(this.errorHandler);
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
getRefreshToken(tokenSet) {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
try {
|
|
52
|
+
const refreshTokenSet = yield this.client
|
|
53
|
+
.refresh(tokenSet.refreshToken)
|
|
54
|
+
.then((tokenSet) => (0, parse_token_1.default)(tokenSet))
|
|
55
|
+
.catch(this.errorHandler);
|
|
56
|
+
return refreshTokenSet;
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.oidc = new OidcClient();
|
|
65
65
|
//# sourceMappingURL=sso.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Connect } from './types/connect.type';
|
|
2
|
-
declare const _default: (params: Connect) => Promise<unknown>;
|
|
3
|
-
export default _default;
|
|
1
|
+
import { Connect } from './types/connect.type';
|
|
2
|
+
declare const _default: (params: Connect) => Promise<unknown>;
|
|
3
|
+
export default _default;
|
package/dist/index.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const client_credentials_1 = require("./grant-type/client_credentials");
|
|
13
|
-
const password_1 = require("./grant-type/password");
|
|
14
|
-
const sso_1 = require("./grant-type/sso");
|
|
15
|
-
const clients = {
|
|
16
|
-
client_credentials: client_credentials_1.oidc,
|
|
17
|
-
password: password_1.oidc,
|
|
18
|
-
sso: sso_1.oidc,
|
|
19
|
-
};
|
|
20
|
-
exports.default = (params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
-
const oidc = clients[params.grantType];
|
|
22
|
-
yield oidc.connect({
|
|
23
|
-
baseUrl: params.baseUrl,
|
|
24
|
-
oidcPath: params.oidcPath,
|
|
25
|
-
clientId: params.clientId,
|
|
26
|
-
clientSecret: params.clientSecret,
|
|
27
|
-
});
|
|
28
|
-
return oidc;
|
|
29
|
-
});
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const client_credentials_1 = require("./grant-type/client_credentials");
|
|
13
|
+
const password_1 = require("./grant-type/password");
|
|
14
|
+
const sso_1 = require("./grant-type/sso");
|
|
15
|
+
const clients = {
|
|
16
|
+
client_credentials: client_credentials_1.oidc,
|
|
17
|
+
password: password_1.oidc,
|
|
18
|
+
sso: sso_1.oidc,
|
|
19
|
+
};
|
|
20
|
+
exports.default = (params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
+
const oidc = clients[params.grantType];
|
|
22
|
+
yield oidc.connect({
|
|
23
|
+
baseUrl: params.baseUrl,
|
|
24
|
+
oidcPath: params.oidcPath,
|
|
25
|
+
clientId: params.clientId,
|
|
26
|
+
clientSecret: params.clientSecret,
|
|
27
|
+
});
|
|
28
|
+
return oidc;
|
|
29
|
+
});
|
|
30
30
|
//# sourceMappingURL=index.js.map
|
package/dist/token.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TokenSet } from './types/token-set.type';
|
|
2
|
-
export default class Token {
|
|
3
|
-
token: TokenSet;
|
|
4
|
-
setToken(token: TokenSet, revert?: boolean): TokenSet;
|
|
5
|
-
getToken(revert?: boolean): TokenSet | null;
|
|
6
|
-
}
|
|
1
|
+
import { TokenSet } from './types/token-set.type';
|
|
2
|
+
export default class Token {
|
|
3
|
+
token: TokenSet;
|
|
4
|
+
setToken(token: TokenSet, revert?: boolean): TokenSet;
|
|
5
|
+
getToken(revert?: boolean): TokenSet | null;
|
|
6
|
+
}
|
package/dist/token.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const parse_token_1 = __importDefault(require("./utils/parse-token"));
|
|
7
|
-
class Token {
|
|
8
|
-
setToken(token, revert = false) {
|
|
9
|
-
this.token = (0, parse_token_1.default)(token, revert);
|
|
10
|
-
return this.token;
|
|
11
|
-
}
|
|
12
|
-
getToken(revert = false) {
|
|
13
|
-
if (!this.token)
|
|
14
|
-
return null;
|
|
15
|
-
const expiresAt = this.token.expiresAt || this.token.expires_at;
|
|
16
|
-
const now = Math.floor(new Date().getTime() / 1000);
|
|
17
|
-
if (expiresAt - 60 <= now)
|
|
18
|
-
return null;
|
|
19
|
-
return (revert && (0, parse_token_1.default)(this.token, revert)) || this.token;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.default = Token;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const parse_token_1 = __importDefault(require("./utils/parse-token"));
|
|
7
|
+
class Token {
|
|
8
|
+
setToken(token, revert = false) {
|
|
9
|
+
this.token = (0, parse_token_1.default)(token, revert);
|
|
10
|
+
return this.token;
|
|
11
|
+
}
|
|
12
|
+
getToken(revert = false) {
|
|
13
|
+
if (!this.token)
|
|
14
|
+
return null;
|
|
15
|
+
const expiresAt = this.token.expiresAt || this.token.expires_at;
|
|
16
|
+
const now = Math.floor(new Date().getTime() / 1000);
|
|
17
|
+
if (expiresAt - 60 <= now)
|
|
18
|
+
return null;
|
|
19
|
+
return (revert && (0, parse_token_1.default)(this.token, revert)) || this.token;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.default = Token;
|
|
23
23
|
//# sourceMappingURL=token.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ResponseType } from 'openid-client';
|
|
2
|
-
export declare type Connect = {
|
|
3
|
-
grantType?: string;
|
|
4
|
-
baseUrl: string;
|
|
5
|
-
oidcPath: string;
|
|
6
|
-
clientId: string;
|
|
7
|
-
clientSecret: string;
|
|
8
|
-
responseTypes?: ResponseType[];
|
|
9
|
-
grantTypes?: string[];
|
|
10
|
-
timeout?: number;
|
|
11
|
-
redirectUri?: string;
|
|
12
|
-
};
|
|
1
|
+
import { ResponseType } from 'openid-client';
|
|
2
|
+
export declare type Connect = {
|
|
3
|
+
grantType?: string;
|
|
4
|
+
baseUrl: string;
|
|
5
|
+
oidcPath: string;
|
|
6
|
+
clientId: string;
|
|
7
|
+
clientSecret: string;
|
|
8
|
+
responseTypes?: ResponseType[];
|
|
9
|
+
grantTypes?: string[];
|
|
10
|
+
timeout?: number;
|
|
11
|
+
redirectUri?: string;
|
|
12
|
+
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=connect.type.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare type GrantTypeErrorHandlerType = (error: Error & {
|
|
2
|
-
code?: number;
|
|
3
|
-
url?: string;
|
|
4
|
-
}) => void;
|
|
5
|
-
export declare type ErrorHandlerType = (grantType: string) => GrantTypeErrorHandlerType;
|
|
1
|
+
export declare type GrantTypeErrorHandlerType = (error: Error & {
|
|
2
|
+
code?: number;
|
|
3
|
+
url?: string;
|
|
4
|
+
}) => void;
|
|
5
|
+
export declare type ErrorHandlerType = (grantType: string) => GrantTypeErrorHandlerType;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=error-handler.type.js.map
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
export declare type TokenSetParsed = {
|
|
2
|
-
accessToken: string;
|
|
3
|
-
expiresAt: number;
|
|
4
|
-
expiresIn: number;
|
|
5
|
-
idToken: string;
|
|
6
|
-
refreshToken: string;
|
|
7
|
-
scope: string;
|
|
8
|
-
sessionState: string;
|
|
9
|
-
tokenType: string;
|
|
10
|
-
};
|
|
11
|
-
export declare type TokenSetSource = {
|
|
12
|
-
access_token: string;
|
|
13
|
-
expires_at: number;
|
|
14
|
-
expires_in: number;
|
|
15
|
-
id_token: string;
|
|
16
|
-
refresh_token: string;
|
|
17
|
-
scope: string;
|
|
18
|
-
session_state: string;
|
|
19
|
-
token_type: string;
|
|
20
|
-
};
|
|
21
|
-
export declare type TokenSet = TokenSetSource & TokenSetParsed;
|
|
1
|
+
export declare type TokenSetParsed = {
|
|
2
|
+
accessToken: string;
|
|
3
|
+
expiresAt: number;
|
|
4
|
+
expiresIn: number;
|
|
5
|
+
idToken: string;
|
|
6
|
+
refreshToken: string;
|
|
7
|
+
scope: string;
|
|
8
|
+
sessionState: string;
|
|
9
|
+
tokenType: string;
|
|
10
|
+
};
|
|
11
|
+
export declare type TokenSetSource = {
|
|
12
|
+
access_token: string;
|
|
13
|
+
expires_at: number;
|
|
14
|
+
expires_in: number;
|
|
15
|
+
id_token: string;
|
|
16
|
+
refresh_token: string;
|
|
17
|
+
scope: string;
|
|
18
|
+
session_state: string;
|
|
19
|
+
token_type: string;
|
|
20
|
+
};
|
|
21
|
+
export declare type TokenSet = TokenSetSource & TokenSetParsed;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=token-set.type.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
declare const _default: (grantType: string) => (error: Error & {
|
|
2
|
-
code?: number;
|
|
3
|
-
url?: string;
|
|
4
|
-
}) => never;
|
|
5
|
-
export default _default;
|
|
1
|
+
declare const _default: (grantType: string) => (error: Error & {
|
|
2
|
+
code?: number;
|
|
3
|
+
url?: string;
|
|
4
|
+
}) => never;
|
|
5
|
+
export default _default;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = (grantType) => (error) => {
|
|
4
|
-
const { name, code, url, message } = error;
|
|
5
|
-
if (name && code && url) {
|
|
6
|
-
throw new Error(`[${grantType}] Error: ${JSON.stringify({ name, code, url })}`);
|
|
7
|
-
}
|
|
8
|
-
if (message) {
|
|
9
|
-
throw new Error(`[${grantType}] Error: ${message}`);
|
|
10
|
-
}
|
|
11
|
-
throw error;
|
|
12
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = (grantType) => (error) => {
|
|
4
|
+
const { name, code, url, message } = error;
|
|
5
|
+
if (name && code && url) {
|
|
6
|
+
throw new Error(`[${grantType}] Error: ${JSON.stringify({ name, code, url })}`);
|
|
7
|
+
}
|
|
8
|
+
if (message) {
|
|
9
|
+
throw new Error(`[${grantType}] Error: ${message}`);
|
|
10
|
+
}
|
|
11
|
+
throw error;
|
|
12
|
+
};
|
|
13
13
|
//# sourceMappingURL=error-handler.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { TokenSet } from '../types/token-set.type';
|
|
2
|
-
declare const _default: (tokenSet: TokenSet, revert?: boolean) => TokenSet;
|
|
3
|
-
export default _default;
|
|
1
|
+
import { TokenSet } from '../types/token-set.type';
|
|
2
|
+
declare const _default: (tokenSet: TokenSet, revert?: boolean) => TokenSet;
|
|
3
|
+
export default _default;
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tokenMapper = {
|
|
4
|
-
accessToken: 'access_token',
|
|
5
|
-
expiresAt: 'expires_at',
|
|
6
|
-
expiresIn: 'expires_in',
|
|
7
|
-
idToken: 'id_token',
|
|
8
|
-
refreshToken: 'refresh_token',
|
|
9
|
-
scope: 'scope',
|
|
10
|
-
sessionState: 'session_state',
|
|
11
|
-
tokenType: 'token_type',
|
|
12
|
-
};
|
|
13
|
-
exports.default = (tokenSet, revert = false) => {
|
|
14
|
-
const tokenSetParsed = {};
|
|
15
|
-
Object.keys(tokenMapper).forEach((mapperKey) => {
|
|
16
|
-
const key = ((revert && tokenMapper[mapperKey]) ||
|
|
17
|
-
mapperKey);
|
|
18
|
-
const value = (revert && tokenSet[mapperKey]) ||
|
|
19
|
-
tokenSet[tokenMapper[mapperKey]];
|
|
20
|
-
if (typeof value !== 'undefined') {
|
|
21
|
-
tokenSetParsed[key] = value;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
return tokenSetParsed;
|
|
25
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tokenMapper = {
|
|
4
|
+
accessToken: 'access_token',
|
|
5
|
+
expiresAt: 'expires_at',
|
|
6
|
+
expiresIn: 'expires_in',
|
|
7
|
+
idToken: 'id_token',
|
|
8
|
+
refreshToken: 'refresh_token',
|
|
9
|
+
scope: 'scope',
|
|
10
|
+
sessionState: 'session_state',
|
|
11
|
+
tokenType: 'token_type',
|
|
12
|
+
};
|
|
13
|
+
exports.default = (tokenSet, revert = false) => {
|
|
14
|
+
const tokenSetParsed = {};
|
|
15
|
+
Object.keys(tokenMapper).forEach((mapperKey) => {
|
|
16
|
+
const key = ((revert && tokenMapper[mapperKey]) ||
|
|
17
|
+
mapperKey);
|
|
18
|
+
const value = (revert && tokenSet[mapperKey]) ||
|
|
19
|
+
tokenSet[tokenMapper[mapperKey]];
|
|
20
|
+
if (typeof value !== 'undefined') {
|
|
21
|
+
tokenSetParsed[key] = value;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
return tokenSetParsed;
|
|
25
|
+
};
|
|
26
26
|
//# sourceMappingURL=parse-token.js.map
|
package/package.json
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@edirect/oidc-client",
|
|
3
|
-
"version": "3.
|
|
4
|
-
"description": "OpenId Connect Client",
|
|
5
|
-
"author": "Bolttech <devs@bolttech.io>",
|
|
6
|
-
"license": "UNLICENSED",
|
|
7
|
-
"main": "./dist/index.js",
|
|
8
|
-
"types": "./dist/index.d.ts",
|
|
9
|
-
"packageScope": "@edirect",
|
|
10
|
-
"engines": {
|
|
11
|
-
"node": "^
|
|
12
|
-
},
|
|
13
|
-
"scripts": {
|
|
14
|
-
"build": "npm run clean && npx tsc --project tsconfig.json",
|
|
15
|
-
"clean": "rimraf dist",
|
|
16
|
-
"lint": "npm run eslint && npm run prettier",
|
|
17
|
-
"prettier": "prettier --parser typescript --single-quote --write \"./src/**/*.ts\"",
|
|
18
|
-
"eslint": "eslint --fix \"./src/**/*.ts\""
|
|
19
|
-
},
|
|
20
|
-
"dependencies": {
|
|
21
|
-
"openid-client": "^
|
|
22
|
-
},
|
|
23
|
-
"devDependencies": {
|
|
24
|
-
"@types/node": "^17.0.12",
|
|
25
|
-
"@typescript-eslint/eslint-plugin": "^5.10.1",
|
|
26
|
-
"@typescript-eslint/parser": "^5.10.1",
|
|
27
|
-
"eslint": "^8.7.0",
|
|
28
|
-
"husky": "^7.0.4",
|
|
29
|
-
"prettier": "^2.5.1",
|
|
30
|
-
"rimraf": "^3.0.2",
|
|
31
|
-
"typescript": "^4.5.5"
|
|
32
|
-
},
|
|
33
|
-
"husky": {
|
|
34
|
-
"hooks": {
|
|
35
|
-
"pre-commit": "npm run lint",
|
|
36
|
-
"pre-push": "npm run build"
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@edirect/oidc-client",
|
|
3
|
+
"version": "3.2.2",
|
|
4
|
+
"description": "OpenId Connect Client",
|
|
5
|
+
"author": "Bolttech <devs@bolttech.io>",
|
|
6
|
+
"license": "UNLICENSED",
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"packageScope": "@edirect",
|
|
10
|
+
"engines": {
|
|
11
|
+
"node": "^16.x.x"
|
|
12
|
+
},
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "npm run clean && npx tsc --project tsconfig.json",
|
|
15
|
+
"clean": "rimraf dist",
|
|
16
|
+
"lint": "npm run eslint && npm run prettier",
|
|
17
|
+
"prettier": "prettier --parser typescript --single-quote --write \"./src/**/*.ts\"",
|
|
18
|
+
"eslint": "eslint --fix \"./src/**/*.ts\""
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"openid-client": "^5.1.10"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@types/node": "^17.0.12",
|
|
25
|
+
"@typescript-eslint/eslint-plugin": "^5.10.1",
|
|
26
|
+
"@typescript-eslint/parser": "^5.10.1",
|
|
27
|
+
"eslint": "^8.7.0",
|
|
28
|
+
"husky": "^7.0.4",
|
|
29
|
+
"prettier": "^2.5.1",
|
|
30
|
+
"rimraf": "^3.0.2",
|
|
31
|
+
"typescript": "^4.5.5"
|
|
32
|
+
},
|
|
33
|
+
"husky": {
|
|
34
|
+
"hooks": {
|
|
35
|
+
"pre-commit": "npm run lint",
|
|
36
|
+
"pre-push": "npm run build"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|