@nestlab/google-recaptcha 3.1.0 → 3.1.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/CONTRIBUTING.md +9 -3
- package/LICENSE +1 -1
- package/README.md +7 -2
- package/decorators/recaptcha-result.js +4 -2
- package/decorators/recaptcha-result.js.map +1 -1
- package/enums/error-code.d.ts +1 -0
- package/enums/error-code.js +1 -0
- package/enums/error-code.js.map +1 -1
- package/exceptions/google-recaptcha.exception.js +5 -0
- package/exceptions/google-recaptcha.exception.js.map +1 -1
- package/google-recaptcha.module.js +16 -14
- package/google-recaptcha.module.js.map +1 -1
- package/guards/google-recaptcha.guard.js.map +1 -1
- package/helpers/load-module.d.ts +2 -1
- package/helpers/load-module.js.map +1 -1
- package/index.js.map +1 -1
- package/interfaces/google-recaptcha-guard-options.d.ts +1 -1
- package/interfaces/google-recaptcha-module-options.d.ts +4 -2
- package/models/recaptcha-verification-result.d.ts +6 -5
- package/models/recaptcha-verification-result.js +1 -3
- package/models/recaptcha-verification-result.js.map +1 -1
- package/package.json +25 -9
- package/services/recaptcha-request.resolver.d.ts +1 -1
- package/services/recaptcha-request.resolver.js +4 -2
- package/services/recaptcha-request.resolver.js.map +1 -1
- package/services/recaptcha-validator.resolver.d.ts +1 -1
- package/services/recaptcha-validator.resolver.js +1 -2
- package/services/recaptcha-validator.resolver.js.map +1 -1
- package/services/validators/abstract-google-recaptcha-validator.d.ts +1 -1
- package/services/validators/google-recaptcha-enterprise.validator.d.ts +3 -2
- package/services/validators/google-recaptcha-enterprise.validator.js +4 -4
- package/services/validators/google-recaptcha-enterprise.validator.js.map +1 -1
- package/services/validators/google-recaptcha.validator.d.ts +1 -1
- package/services/validators/google-recaptcha.validator.js +2 -2
- package/services/validators/google-recaptcha.validator.js.map +1 -1
package/CONTRIBUTING.md
CHANGED
|
@@ -41,15 +41,21 @@ We love pull requests. Here’s a quick guide:
|
|
|
41
41
|
npm test
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
6.
|
|
44
|
+
6. Fix your changes by eslint rules:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npm run lint:fix
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
7. If everything looks good, push to your fork:
|
|
45
51
|
|
|
46
52
|
```bash
|
|
47
53
|
git push origin fix-for-that-thing
|
|
48
54
|
```
|
|
49
55
|
|
|
50
|
-
|
|
56
|
+
8. [Submit a pull request.](https://help.github.com/articles/creating-a-pull-request)
|
|
51
57
|
|
|
52
|
-
|
|
58
|
+
9. Enjoy being the wonderful person you are
|
|
53
59
|
|
|
54
60
|
After you’ve opened your pull request, [you should email me](mailto:chvarkov.alexey@gmail.com) your mailing address so I can mail you a personal thank you note. Seriously!
|
|
55
61
|
|
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
# Google recaptcha module
|
|
2
|
+
[](https://www.npmjs.com/package/@nestlab/google-recaptcha)
|
|
3
|
+
[](https://github.com/chvarkov/google-recaptcha/blob/master/LICENSE)
|
|
4
|
+
[](https://www.npmjs.com/package/@nestlab/google-recaptcha)
|
|
5
|
+
[](https://github.com/chvarkov/google-recaptcha/tree/master)
|
|
6
|
+
[](https://coveralls.io/github/chvarkov/google-recaptcha?branch=develop)
|
|
2
7
|
|
|
3
8
|
The [NestJS](https://docs.nestjs.com/) module to protect your endpoints via [google recaptcha](https://www.google.com/recaptcha/about/).
|
|
4
9
|
|
|
@@ -96,8 +101,8 @@ export class AppModule {
|
|
|
96
101
|
| `skipIf` | Optional.<br> Type: `boolean` \| `(request) => boolean \| Promise<boolean>` <br> Function that returns true if you allow the request to skip the recaptcha verification. Useful for involing other check methods (e.g. custom privileged API key) or for development or testing |
|
|
97
102
|
| `enterprise` | Optional.<br> Type: [`GoogleRecaptchaEnterpriseOptions`](#GoogleRecaptchaEnterpriseOptions) <br> Options for using recCAPTCHA Enterprise API. Cannot using with `secretKey` option. |
|
|
98
103
|
| `network` | Optional.<br> Type: `GoogleRecaptchaNetwork` \| `string`<br> Default: `GoogleRecaptchaNetwork.Google` <br> If your server has trouble connecting to https://google.com then you can set networks:<br> `GoogleRecaptchaNetwork.Google` = 'https://www.google.com/recaptcha/api/siteverify'<br>`GoogleRecaptchaNetwork.Recaptcha` = 'https://recaptcha.net/recaptcha/api/siteverify'<br> or set any api url |
|
|
99
|
-
| `score` | Optional.<br> Type: `number` \| `(score: number) => boolean`<br> Score validator for reCAPTCHA v3. <br> `number` - minimum available score. <br> `(score: number) => boolean` - function with custom validation rules. |
|
|
100
|
-
| `actions` | Optional.<br> Type: `string[]`<br> Available action list for reCAPTCHA v3. <br> You can make this check stricter by passing the action property parameter to `@Recaptcha(...)` decorator. |
|
|
104
|
+
| `score` | Optional.<br> Type: `number` \| `(score: number) => boolean`<br> Score validator for reCAPTCHA v3 or enterprise. <br> `number` - minimum available score. <br> `(score: number) => boolean` - function with custom validation rules. |
|
|
105
|
+
| `actions` | Optional.<br> Type: `string[]`<br> Available action list for reCAPTCHA v3 or enterprise. <br> You can make this check stricter by passing the action property parameter to `@Recaptcha(...)` decorator. |
|
|
101
106
|
| `axiosConfig` | Optional.<br> Type: `AxiosRequestConfig`<br> Allows to setup proxy, response timeout, https agent etc... |
|
|
102
107
|
|
|
103
108
|
#### GoogleRecaptchaEnterpriseOptions
|
|
@@ -9,8 +9,10 @@ exports.RecaptchaResult = (0, common_1.createParamDecorator)((data, context) =>
|
|
|
9
9
|
case 'http':
|
|
10
10
|
return context.switchToHttp().getRequest().recaptchaValidationResult;
|
|
11
11
|
case 'graphql':
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
return (_d = (_c = (_b = (_a = (0, load_module_1.loadModule)('@nestjs/graphql', true)
|
|
13
|
+
.GqlExecutionContext
|
|
14
|
+
.create(context)
|
|
15
|
+
.getContext().req) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b._httpMessage) === null || _c === void 0 ? void 0 : _c.req) === null || _d === void 0 ? void 0 : _d.recaptchaValidationResult;
|
|
14
16
|
default:
|
|
15
17
|
return null;
|
|
16
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recaptcha-result.js","sourceRoot":"","sources":["../../src/decorators/recaptcha-result.ts"],"names":[],"mappings":";;;AAAA,2CAAwE;AACxE,wDAAoD;AAEvC,QAAA,eAAe,GAAG,IAAA,6BAAoB,EAAC,CAAC,IAAI,EAAE,OAAyB,EAAE,EAAE;;IACpF,QAAQ,OAAO,CAAC,OAAO,EAAsB,EAAE;QAC3C,KAAK,MAAM;YACP,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,yBAAyB,CAAC;QACzE,KAAK,SAAS;YACV,
|
|
1
|
+
{"version":3,"file":"recaptcha-result.js","sourceRoot":"","sources":["../../src/decorators/recaptcha-result.ts"],"names":[],"mappings":";;;AAAA,2CAAwE;AACxE,wDAAoD;AAEvC,QAAA,eAAe,GAAG,IAAA,6BAAoB,EAAC,CAAC,IAAI,EAAE,OAAyB,EAAE,EAAE;;IACpF,QAAQ,OAAO,CAAC,OAAO,EAAsB,EAAE;QAC3C,KAAK,MAAM;YACP,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,yBAAyB,CAAC;QACzE,KAAK,SAAS;YACV,OAAO,MAAA,MAAA,MAAA,MAAA,IAAA,wBAAU,EAAC,iBAAiB,EAAE,IAAI,CAAC;iBACrC,mBAAmB;iBACnB,MAAM,CAAC,OAAO,CAAC;iBACf,UAAU,EAAE,CAAC,GAAG,0CAAE,UAAU,0CAAE,YAAY,0CAAE,GAAG,0CAAE,yBAAyB,CAAC;QACpF;YACI,OAAO,IAAI,CAAC;KACnB;AACL,CAAC,CAAC,CAAC"}
|
package/enums/error-code.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare enum ErrorCode {
|
|
|
9
9
|
ForbiddenAction = "forbidden-action",
|
|
10
10
|
LowScore = "low-score",
|
|
11
11
|
InvalidKeys = "invalid-keys",
|
|
12
|
+
IncorrectCaptchaSol = "incorrect-captcha-sol",
|
|
12
13
|
NetworkError = "network-error",
|
|
13
14
|
SiteMismatch = "site-mismatch",
|
|
14
15
|
BrowserError = "browser-error"
|
package/enums/error-code.js
CHANGED
|
@@ -13,6 +13,7 @@ var ErrorCode;
|
|
|
13
13
|
ErrorCode["ForbiddenAction"] = "forbidden-action";
|
|
14
14
|
ErrorCode["LowScore"] = "low-score";
|
|
15
15
|
ErrorCode["InvalidKeys"] = "invalid-keys";
|
|
16
|
+
ErrorCode["IncorrectCaptchaSol"] = "incorrect-captcha-sol";
|
|
16
17
|
ErrorCode["NetworkError"] = "network-error";
|
|
17
18
|
// enterprise
|
|
18
19
|
ErrorCode["SiteMismatch"] = "site-mismatch";
|
package/enums/error-code.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-code.js","sourceRoot":"","sources":["../../src/enums/error-code.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"error-code.js","sourceRoot":"","sources":["../../src/enums/error-code.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAgBX;AAhBD,WAAY,SAAS;IACpB,wDAA2C,CAAA;IAC3C,wDAA2C,CAAA;IAC3C,4DAA+C,CAAA;IAC/C,4DAA+C,CAAA;IAC/C,uCAA0B,CAAA;IAC1B,wDAA2C,CAAA;IAC3C,2CAA8B,CAAA;IAC9B,iDAAoC,CAAA;IACpC,mCAAsB,CAAA;IACtB,yCAA4B,CAAA;IAC5B,0DAA6C,CAAA;IAC7C,2CAA8B,CAAA;IAC9B,aAAa;IACb,2CAA8B,CAAA;IAC9B,2CAA8B,CAAA;AAC/B,CAAC,EAhBW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAgBpB"}
|
|
@@ -29,6 +29,8 @@ class GoogleRecaptchaException extends common_1.HttpException {
|
|
|
29
29
|
return 'The user verification token did not match the provided site key.';
|
|
30
30
|
case error_code_1.ErrorCode.BrowserError:
|
|
31
31
|
return 'Retriable error (such as network failure) occurred on the browser.';
|
|
32
|
+
case error_code_1.ErrorCode.IncorrectCaptchaSol:
|
|
33
|
+
return 'incorrect-captcha-sol';
|
|
32
34
|
case error_code_1.ErrorCode.UnknownError:
|
|
33
35
|
case error_code_1.ErrorCode.BadRequest:
|
|
34
36
|
default:
|
|
@@ -40,6 +42,9 @@ class GoogleRecaptchaException extends common_1.HttpException {
|
|
|
40
42
|
errorCode === error_code_1.ErrorCode.MissingInputResponse ||
|
|
41
43
|
errorCode === error_code_1.ErrorCode.TimeoutOrDuplicate ||
|
|
42
44
|
errorCode === error_code_1.ErrorCode.ForbiddenAction ||
|
|
45
|
+
errorCode === error_code_1.ErrorCode.SiteMismatch ||
|
|
46
|
+
errorCode === error_code_1.ErrorCode.BrowserError ||
|
|
47
|
+
errorCode === error_code_1.ErrorCode.IncorrectCaptchaSol ||
|
|
43
48
|
errorCode === error_code_1.ErrorCode.LowScore ||
|
|
44
49
|
errorCode === error_code_1.ErrorCode.InvalidKeys
|
|
45
50
|
? common_1.HttpStatus.BAD_REQUEST
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-recaptcha.exception.js","sourceRoot":"","sources":["../../src/exceptions/google-recaptcha.exception.ts"],"names":[],"mappings":";;;AAAA,2CAAyD;AACzD,oDAA8C;AAE9C,MAAa,wBAAyB,SAAQ,sBAAa;IAC1D,YAA4B,UAAuB,EACpC,YAAqB;QAC7B,KAAK,CACD,YAAY,IAAI,wBAAwB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EACvE,wBAAwB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CACzD,CAAC;QALmB,eAAU,GAAV,UAAU,CAAa;IAMnD,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,SAAoB;QAClD,QAAQ,SAAS,EAAE;YAClB,KAAK,sBAAS,CAAC,oBAAoB;gBAClC,OAAO,iDAAiD,CAAC;YAE1D,KAAK,sBAAS,CAAC,oBAAoB;gBAClC,OAAO,oCAAoC,CAAC;YAC7C,KAAK,sBAAS,CAAC,kBAAkB;gBAChC,OAAO,iFAAiF,CAAC;YAE1F,KAAK,sBAAS,CAAC,kBAAkB,CAAC;YAClC,KAAK,sBAAS,CAAC,kBAAkB;gBAChC,OAAO,gEAAgE,CAAC;YAEzE,KAAK,sBAAS,CAAC,WAAW;gBACzB,OAAO,gDAAgD,CAAC;YAEzD,KAAK,sBAAS,CAAC,QAAQ;gBACtB,OAAO,sBAAsB,
|
|
1
|
+
{"version":3,"file":"google-recaptcha.exception.js","sourceRoot":"","sources":["../../src/exceptions/google-recaptcha.exception.ts"],"names":[],"mappings":";;;AAAA,2CAAyD;AACzD,oDAA8C;AAE9C,MAAa,wBAAyB,SAAQ,sBAAa;IAC1D,YAA4B,UAAuB,EACpC,YAAqB;QAC7B,KAAK,CACD,YAAY,IAAI,wBAAwB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EACvE,wBAAwB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CACzD,CAAC;QALmB,eAAU,GAAV,UAAU,CAAa;IAMnD,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,SAAoB;QAClD,QAAQ,SAAS,EAAE;YAClB,KAAK,sBAAS,CAAC,oBAAoB;gBAClC,OAAO,iDAAiD,CAAC;YAE1D,KAAK,sBAAS,CAAC,oBAAoB;gBAClC,OAAO,oCAAoC,CAAC;YAC7C,KAAK,sBAAS,CAAC,kBAAkB;gBAChC,OAAO,iFAAiF,CAAC;YAE1F,KAAK,sBAAS,CAAC,kBAAkB,CAAC;YAClC,KAAK,sBAAS,CAAC,kBAAkB;gBAChC,OAAO,gEAAgE,CAAC;YAEzE,KAAK,sBAAS,CAAC,WAAW;gBACzB,OAAO,gDAAgD,CAAC;YAEzD,KAAK,sBAAS,CAAC,QAAQ;gBACtB,OAAO,sBAAsB,CAAC;YAE/B,KAAK,sBAAS,CAAC,eAAe;gBAC7B,OAAO,6BAA6B,CAAC;YAEtC,KAAK,sBAAS,CAAC,YAAY;gBAC1B,OAAO,kEAAkE,CAAC;YAE3E,KAAK,sBAAS,CAAC,YAAY;gBAC1B,OAAO,oEAAoE,CAAC;YAE7E,KAAK,sBAAS,CAAC,mBAAmB;gBACjC,OAAO,uBAAuB,CAAC;YAEhC,KAAK,sBAAS,CAAC,YAAY,CAAC;YAC5B,KAAK,sBAAS,CAAC,UAAU,CAAC;YAC1B;gBACC,OAAO,qEAAqE,CAAC;SAC9E;IACF,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,SAAoB;QACjD,OAAO,SAAS,KAAK,sBAAS,CAAC,oBAAoB;YAClD,SAAS,KAAK,sBAAS,CAAC,oBAAoB;YAC5C,SAAS,KAAK,sBAAS,CAAC,kBAAkB;YAC1C,SAAS,KAAK,sBAAS,CAAC,eAAe;YACvC,SAAS,KAAK,sBAAS,CAAC,YAAY;YACpC,SAAS,KAAK,sBAAS,CAAC,YAAY;YACpC,SAAS,KAAK,sBAAS,CAAC,mBAAmB;YAC3C,SAAS,KAAK,sBAAS,CAAC,QAAQ;YAChC,SAAS,KAAK,sBAAS,CAAC,WAAW;YACpC,CAAC,CAAC,mBAAU,CAAC,WAAW;YACxB,CAAC,CAAC,mBAAU,CAAC,qBAAqB,CAAC;IACpC,CAAC;CACD;AA7DD,4DA6DC"}
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.GoogleRecaptchaModule = void 0;
|
|
15
4
|
const common_1 = require("@nestjs/common");
|
|
@@ -85,7 +74,7 @@ class GoogleRecaptchaModule {
|
|
|
85
74
|
recaptcha_request_resolver_1.RecaptchaRequestResolver,
|
|
86
75
|
recaptcha_validator_resolver_1.RecaptchaValidatorResolver,
|
|
87
76
|
enterprise_reason_transformer_1.EnterpriseReasonTransformer,
|
|
88
|
-
...this.createAsyncProviders(options)
|
|
77
|
+
...this.createAsyncProviders(options),
|
|
89
78
|
];
|
|
90
79
|
const httpModule = this.resolveHttpModule();
|
|
91
80
|
const internalProviders = [
|
|
@@ -128,7 +117,20 @@ class GoogleRecaptchaModule {
|
|
|
128
117
|
}
|
|
129
118
|
}
|
|
130
119
|
static transformAxiosConfig(axiosConfig) {
|
|
131
|
-
|
|
120
|
+
if (!axiosConfig) {
|
|
121
|
+
return {};
|
|
122
|
+
}
|
|
123
|
+
const config = Object.assign({}, axiosConfig);
|
|
124
|
+
delete config.baseURL;
|
|
125
|
+
delete config.url;
|
|
126
|
+
delete config.responseType;
|
|
127
|
+
delete config.method;
|
|
128
|
+
delete config.transformRequest;
|
|
129
|
+
delete config.transformResponse;
|
|
130
|
+
delete config.paramsSerializer;
|
|
131
|
+
delete config.validateStatus;
|
|
132
|
+
delete config.data;
|
|
133
|
+
delete config.adapter;
|
|
132
134
|
return config;
|
|
133
135
|
}
|
|
134
136
|
static createAsyncProviders(options) {
|
|
@@ -151,7 +153,7 @@ class GoogleRecaptchaModule {
|
|
|
151
153
|
}
|
|
152
154
|
return {
|
|
153
155
|
provide: provider_declarations_1.RECAPTCHA_OPTIONS,
|
|
154
|
-
useFactory: (optionsFactory) => {
|
|
156
|
+
useFactory: async (optionsFactory) => {
|
|
155
157
|
if (!this.isGoogleRecaptchaFactory(optionsFactory)) {
|
|
156
158
|
throw new Error('Factory must be implement \'GoogleRecaptchaOptionsFactory\' interface.');
|
|
157
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-recaptcha.module.js","sourceRoot":"","sources":["../src/google-recaptcha.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"google-recaptcha.module.js","sourceRoot":"","sources":["../src/google-recaptcha.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-recaptcha.guard.js","sourceRoot":"","sources":["../../src/guards/google-recaptcha.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"google-recaptcha.guard.js","sourceRoot":"","sources":["../../src/guards/google-recaptcha.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA0G;AAC1G,oEAA6G;AAC7G,yFAAoF;AACpF,uCAAyC;AACzC,uFAAkF;AAGlF,2FAAsF;AACtF,gFAA2E;AAE3E,wHAAkH;AAGlH,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAC7B,YAA6B,SAAoB,EACpB,eAAyC,EACzC,iBAA6C,EACnB,MAAc,EACb,OAAqC;QAJhE,cAAS,GAAT,SAAS,CAAW;QACpB,oBAAe,GAAf,eAAe,CAA0B;QACzC,sBAAiB,GAAjB,iBAAiB,CAA4B;QACnB,WAAM,GAAN,MAAM,CAAQ;QACb,YAAO,GAAP,OAAO,CAA8B;IAC7F,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAyB;QACvC,MAAM,OAAO,GAAkB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAErE,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU;YAClD,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YACpC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAE5B,IAAI,IAAI,EAAE;YACN,OAAO,IAAI,CAAC;SACf;QAED,MAAM,OAAO,GAAmC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oDAA4B,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAEvH,MAAM,QAAQ,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;YAC9B,CAAC,CAAC,MAAM,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;YAClC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE3C,MAAM,KAAK,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,KAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACnD,MAAM,MAAM,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC;QAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAEnD,OAAO,CAAC,yBAAyB,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAC,CAAC,CAAC;QAExF,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,yBAAyB,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC;SAC/E;QAED,IAAI,OAAO,CAAC,yBAAyB,CAAC,OAAO,EAAE;YAC3C,OAAO,IAAI,CAAC;SACf;QAED,MAAM,IAAI,qDAAwB,CAAC,OAAO,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACjF,CAAC;IAEO,iBAAiB,CAAC,SAAoD;QAC1E,OAAO,SAAS,YAAY,0EAAkC;YAC1D,CAAC,CAAC,iDAAsB,CAAC,yBAAyB;YAClD,CAAC,CAAC,iDAAsB,CAAC,eAAe,CAAC;IACjD,CAAC;CACJ,CAAA;AAjDY,oBAAoB;IADhC,IAAA,mBAAU,GAAE;IAKI,WAAA,IAAA,eAAM,EAAC,wCAAgB,CAAC,CAAA;IACxB,WAAA,IAAA,eAAM,EAAC,yCAAiB,CAAC,CAAA;qCAJE,gBAAS;QACH,qDAAwB;QACtB,yDAA0B;QACX,eAAM;GAJ5D,oBAAoB,CAiDhC;AAjDY,oDAAoB"}
|
package/helpers/load-module.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { LiteralObject } from '@nestjs/common';
|
|
2
|
+
export declare function loadModule(moduleName: string, logError?: boolean): LiteralObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-module.js","sourceRoot":"","sources":["../../src/helpers/load-module.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"load-module.js","sourceRoot":"","sources":["../../src/helpers/load-module.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AAEvD,SAAgB,UAAU,CAAC,UAAkB,EAAE,QAAQ,GAAG,KAAK;IAC3D,IAAI;QACA,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;KAC9B;IAAC,OAAO,CAAC,EAAE;QACR,IAAI,QAAQ,EAAE;YACV,eAAM,CAAC,KAAK,CAAC,WAAW,UAAU,4CAA4C,UAAU,EAAE,CAAC,CAAC;SAC/F;QACD,MAAM,CAAC,CAAC;KACX;AACL,CAAC;AATD,gCASC"}
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,oDAAmD;AAA1C,sGAAA,SAAS,OAAA;AAClB,4EAAyE;AAAhE,4HAAA,mBAAmB,OAAA;AAC5B,kEAAgE;AAAvD,mHAAA,eAAe,OAAA;AACxB,0EAAuE;AAA9D,8HAAA,oBAAoB,OAAA;AAC7B,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA;AAE9B,iDAA+C;AAAtC,uGAAA,SAAS,OAAA;AAClB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,oDAAmD;AAA1C,sGAAA,SAAS,OAAA;AAClB,4EAAyE;AAAhE,4HAAA,mBAAmB,OAAA;AAC5B,kEAAgE;AAAvD,mHAAA,eAAe,OAAA;AACxB,0EAAuE;AAA9D,8HAAA,oBAAoB,OAAA;AAC7B,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA;AAE9B,iDAA+C;AAAtC,uGAAA,SAAS,OAAA;AAClB,6EAA0E;AAAjE,kIAAA,sBAAsB,OAAA;AAC/B,sFAAmF;AAA1E,sIAAA,wBAAwB,OAAA;AACjC,sGAAkG;AAAzF,qJAAA,+BAA+B,OAAA;AACxC,+FAA4F;AAAnF,sIAAA,wBAAwB,OAAA;AACjC,qHAAiH;AAAxG,2JAAA,kCAAkC,OAAA;AAC3C,wFAAqF;AAA5E,4IAAA,2BAA2B,OAAA;AACpC,uEAAqE;AAA5D,6HAAA,oBAAoB,OAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RecaptchaResponseProvider, ScoreValidator } from '../types';
|
|
2
2
|
export interface GoogleRecaptchaGuardOptions {
|
|
3
3
|
response: RecaptchaResponseProvider;
|
|
4
|
-
skipIf?: boolean | ((request:
|
|
4
|
+
skipIf?: boolean | (<Req = unknown>(request: Req) => boolean | Promise<boolean>);
|
|
5
5
|
score?: ScoreValidator;
|
|
6
6
|
}
|
|
@@ -2,6 +2,8 @@ import { GoogleRecaptchaGuardOptions } from './google-recaptcha-guard-options';
|
|
|
2
2
|
import { GoogleRecaptchaValidatorOptions } from './google-recaptcha-validator-options';
|
|
3
3
|
import { ModuleMetadata, Type } from '@nestjs/common/interfaces';
|
|
4
4
|
import { Logger } from '@nestjs/common';
|
|
5
|
+
import { InjectionToken } from '@nestjs/common/interfaces/modules/injection-token.interface';
|
|
6
|
+
import { OptionalFactoryDependency } from '@nestjs/common/interfaces/modules/optional-factory-dependency.interface';
|
|
5
7
|
export interface GoogleRecaptchaModuleOptions extends GoogleRecaptchaValidatorOptions, GoogleRecaptchaGuardOptions {
|
|
6
8
|
debug?: boolean;
|
|
7
9
|
logger?: Logger;
|
|
@@ -10,8 +12,8 @@ export interface GoogleRecaptchaOptionsFactory {
|
|
|
10
12
|
createGoogleRecaptchaOptions(): Promise<GoogleRecaptchaModuleOptions> | GoogleRecaptchaModuleOptions;
|
|
11
13
|
}
|
|
12
14
|
export interface GoogleRecaptchaModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
|
|
13
|
-
inject?:
|
|
15
|
+
inject?: Array<InjectionToken | OptionalFactoryDependency>;
|
|
14
16
|
useClass?: Type<GoogleRecaptchaOptionsFactory>;
|
|
15
17
|
useExisting?: Type<GoogleRecaptchaOptionsFactory>;
|
|
16
|
-
useFactory?: (...args:
|
|
18
|
+
useFactory?: (...args: unknown[]) => Promise<GoogleRecaptchaModuleOptions> | GoogleRecaptchaModuleOptions;
|
|
17
19
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ErrorCode } from '../enums/error-code';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { VerifyResponseEnterpriseRiskAnalysis } from '../interfaces/verify-response-enterprise';
|
|
3
|
+
import { LiteralObject } from '@nestjs/common';
|
|
4
|
+
export interface RecaptchaVerificationResultOptions<Res> {
|
|
4
5
|
success: boolean;
|
|
5
6
|
nativeResponse: Res;
|
|
6
7
|
hostname: string;
|
|
@@ -8,7 +9,7 @@ export interface RecaptchaVerificationResultOptions<Res = any> {
|
|
|
8
9
|
score?: number;
|
|
9
10
|
errors: ErrorCode[];
|
|
10
11
|
}
|
|
11
|
-
export declare class RecaptchaVerificationResult<Res =
|
|
12
|
+
export declare class RecaptchaVerificationResult<Res = LiteralObject> {
|
|
12
13
|
private readonly options;
|
|
13
14
|
readonly success: boolean;
|
|
14
15
|
readonly hostname: string;
|
|
@@ -16,7 +17,7 @@ export declare class RecaptchaVerificationResult<Res = any> {
|
|
|
16
17
|
readonly score: number | undefined;
|
|
17
18
|
readonly nativeResponse: Res;
|
|
18
19
|
readonly errors: ErrorCode[];
|
|
19
|
-
constructor(options: RecaptchaVerificationResultOptions);
|
|
20
|
+
constructor(options: RecaptchaVerificationResultOptions<Res>);
|
|
20
21
|
getResponse(): Res;
|
|
21
|
-
getEnterpriseRiskAnalytics():
|
|
22
|
+
getEnterpriseRiskAnalytics(): VerifyResponseEnterpriseRiskAnalysis | null;
|
|
22
23
|
}
|
|
@@ -16,9 +16,7 @@ class RecaptchaVerificationResult {
|
|
|
16
16
|
}
|
|
17
17
|
getEnterpriseRiskAnalytics() {
|
|
18
18
|
const res = this.getResponse();
|
|
19
|
-
return res
|
|
20
|
-
? res['riskAnalysis']
|
|
21
|
-
: null;
|
|
19
|
+
return res['riskAnalysis'] || null;
|
|
22
20
|
}
|
|
23
21
|
}
|
|
24
22
|
exports.RecaptchaVerificationResult = RecaptchaVerificationResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recaptcha-verification-result.js","sourceRoot":"","sources":["../../src/models/recaptcha-verification-result.ts"],"names":[],"mappings":";;;AAaA,MAAa,2BAA2B;
|
|
1
|
+
{"version":3,"file":"recaptcha-verification-result.js","sourceRoot":"","sources":["../../src/models/recaptcha-verification-result.ts"],"names":[],"mappings":";;;AAaA,MAAa,2BAA2B;IAapC,YAA6B,OAAgD;QAAhD,YAAO,GAAP,OAAO,CAAyC;QACzE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IACjD,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,0BAA0B;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE/B,OAAO,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;IACvC,CAAC;CACJ;AA/BD,kEA+BC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestlab/google-recaptcha",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.3",
|
|
4
4
|
"description": "Google recaptcha module for NestJS.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nest",
|
|
@@ -17,10 +17,16 @@
|
|
|
17
17
|
],
|
|
18
18
|
"private": false,
|
|
19
19
|
"main": "index.js",
|
|
20
|
+
"module": "index.js",
|
|
21
|
+
"types": "index.d.ts",
|
|
22
|
+
"readme": "README.md",
|
|
20
23
|
"scripts": {
|
|
21
24
|
"build": "rimraf dist && tsc && cp package.json dist && cp README.md dist && cp LICENSE dist && cp CONTRIBUTING.md dist",
|
|
25
|
+
"lint:fix": "eslint . --fix",
|
|
26
|
+
"lint:check": "eslint . --max-warnings=0",
|
|
22
27
|
"test": "jest --silent=false",
|
|
23
|
-
"test:cov": "jest --coverage"
|
|
28
|
+
"test:cov": "jest --coverage",
|
|
29
|
+
"test:coveralls": "jest --coverage && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage"
|
|
24
30
|
},
|
|
25
31
|
"repository": {
|
|
26
32
|
"type": "git",
|
|
@@ -37,20 +43,30 @@
|
|
|
37
43
|
"@nestjs/common": ">=8.0.0 <10.0.0",
|
|
38
44
|
"@nestjs/core": ">=8.0.0 <10.0.0"
|
|
39
45
|
},
|
|
46
|
+
"peerDependenciesMeta": {
|
|
47
|
+
"@nestjs/graphql": {
|
|
48
|
+
"optional": true
|
|
49
|
+
}
|
|
50
|
+
},
|
|
40
51
|
"devDependencies": {
|
|
41
52
|
"@nestjs/axios": "^0.1.0",
|
|
42
|
-
"@nestjs/common": "^9.0.
|
|
43
|
-
"@nestjs/core": "^9.0.
|
|
53
|
+
"@nestjs/common": "^9.0.11",
|
|
54
|
+
"@nestjs/core": "^9.0.11",
|
|
44
55
|
"@nestjs/graphql": "^10.0.21",
|
|
45
|
-
"@nestjs/platform-express": "^9.0.
|
|
46
|
-
"@nestjs/testing": "^9.0.
|
|
56
|
+
"@nestjs/platform-express": "^9.0.11",
|
|
57
|
+
"@nestjs/testing": "^9.0.11",
|
|
47
58
|
"@types/express": "^4.17.13",
|
|
48
|
-
"@types/jest": "^28.1.
|
|
49
|
-
"@types/node": "^18.
|
|
59
|
+
"@types/jest": "^28.1.7",
|
|
60
|
+
"@types/node": "^18.7.6",
|
|
61
|
+
"@typescript-eslint/eslint-plugin": "^5.33.1",
|
|
62
|
+
"@typescript-eslint/parser": "^5.33.1",
|
|
63
|
+
"coveralls": "^3.1.1",
|
|
64
|
+
"eslint": "^8.22.0",
|
|
50
65
|
"jest": "^28.1.3",
|
|
51
66
|
"reflect-metadata": "^0.1.13",
|
|
52
67
|
"rxjs": "^7.5.6",
|
|
53
|
-
"
|
|
68
|
+
"supertest": "^6.2.4",
|
|
69
|
+
"ts-jest": "^28.0.8",
|
|
54
70
|
"ts-loader": "^9.3.1",
|
|
55
71
|
"ts-node": "^10.9.1",
|
|
56
72
|
"typescript": "^4.7.4"
|
|
@@ -17,8 +17,10 @@ let RecaptchaRequestResolver = class RecaptchaRequestResolver {
|
|
|
17
17
|
case 'http':
|
|
18
18
|
return context.switchToHttp().getRequest();
|
|
19
19
|
case 'graphql':
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
return (_c = (_b = (_a = (0, load_module_1.loadModule)('@nestjs/graphql', true)
|
|
21
|
+
.GqlExecutionContext
|
|
22
|
+
.create(context)
|
|
23
|
+
.getContext().req) === null || _a === void 0 ? void 0 : _a.socket) === null || _b === void 0 ? void 0 : _b._httpMessage) === null || _c === void 0 ? void 0 : _c.req;
|
|
22
24
|
default:
|
|
23
25
|
throw new Error(`Unsupported request type '${contextType}'.`);
|
|
24
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recaptcha-request.resolver.js","sourceRoot":"","sources":["../../src/services/recaptcha-request.resolver.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA8D;AAC9D,wDAAoD;AAIpD,IAAa,wBAAwB,GAArC,MAAa,wBAAwB;IACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"recaptcha-request.resolver.js","sourceRoot":"","sources":["../../src/services/recaptcha-request.resolver.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA8D;AAC9D,wDAAoD;AAIpD,IAAa,wBAAwB,GAArC,MAAa,wBAAwB;IACjC,OAAO,CAAI,OAAyB;;QAChC,MAAM,WAAW,GAAyB,OAAO,CAAC,OAAO,EAAE,CAAC;QAE5D,QAAQ,WAAW,EAAE;YACjB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;YAE/C,KAAK,SAAS;gBACV,OAAO,MAAA,MAAA,MAAA,IAAA,wBAAU,EAAC,iBAAiB,EAAE,IAAI,CAAC;qBACrC,mBAAmB;qBACnB,MAAM,CAAC,OAAO,CAAC;qBACf,UAAU,EAAE,CAAC,GAAG,0CAAE,MAAM,0CAAE,YAAY,0CAAE,GAAG,CAAC;YACrD;gBACI,MAAM,IAAI,KAAK,CAAC,6BAA6B,WAAW,IAAI,CAAC,CAAC;SACrE;IACL,CAAC;CACJ,CAAA;AAjBY,wBAAwB;IADpC,IAAA,mBAAU,GAAE;GACA,wBAAwB,CAiBpC;AAjBY,4DAAwB"}
|
|
@@ -7,5 +7,5 @@ export declare class RecaptchaValidatorResolver {
|
|
|
7
7
|
protected readonly googleRecaptchaValidator: GoogleRecaptchaValidator;
|
|
8
8
|
protected readonly googleRecaptchaEnterpriseValidator: GoogleRecaptchaEnterpriseValidator;
|
|
9
9
|
constructor(options: GoogleRecaptchaModuleOptions, googleRecaptchaValidator: GoogleRecaptchaValidator, googleRecaptchaEnterpriseValidator: GoogleRecaptchaEnterpriseValidator);
|
|
10
|
-
resolve(): AbstractGoogleRecaptchaValidator
|
|
10
|
+
resolve(): AbstractGoogleRecaptchaValidator<unknown>;
|
|
11
11
|
}
|
|
@@ -24,11 +24,10 @@ let RecaptchaValidatorResolver = class RecaptchaValidatorResolver {
|
|
|
24
24
|
this.googleRecaptchaEnterpriseValidator = googleRecaptchaEnterpriseValidator;
|
|
25
25
|
}
|
|
26
26
|
resolve() {
|
|
27
|
-
var _a;
|
|
28
27
|
if (this.options.secretKey) {
|
|
29
28
|
return this.googleRecaptchaValidator;
|
|
30
29
|
}
|
|
31
|
-
if (
|
|
30
|
+
if (Object.keys(this.options.enterprise || {}).length) {
|
|
32
31
|
return this.googleRecaptchaEnterpriseValidator;
|
|
33
32
|
}
|
|
34
33
|
throw new Error('Cannot resolve google recaptcha validator');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recaptcha-validator.resolver.js","sourceRoot":"","sources":["../../src/services/recaptcha-validator.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,oEAA6D;AAE7D,wFAAmF;AACnF,8GAAwG;AAGxG,IAAa,0BAA0B,GAAvC,MAAa,0BAA0B;IACnC,YAAwD,OAAqC,EAC9D,wBAAkD,EAClD,kCAAsE;QAF7C,YAAO,GAAP,OAAO,CAA8B;QAC9D,6BAAwB,GAAxB,wBAAwB,CAA0B;QAClD,uCAAkC,GAAlC,kCAAkC,CAAoC;IACrG,CAAC;IAED,OAAO
|
|
1
|
+
{"version":3,"file":"recaptcha-validator.resolver.js","sourceRoot":"","sources":["../../src/services/recaptcha-validator.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,oEAA6D;AAE7D,wFAAmF;AACnF,8GAAwG;AAGxG,IAAa,0BAA0B,GAAvC,MAAa,0BAA0B;IACnC,YAAwD,OAAqC,EAC9D,wBAAkD,EAClD,kCAAsE;QAF7C,YAAO,GAAP,OAAO,CAA8B;QAC9D,6BAAwB,GAAxB,wBAAwB,CAA0B;QAClD,uCAAkC,GAAlC,kCAAkC,CAAoC;IACrG,CAAC;IAED,OAAO;QACH,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YACxB,OAAO,IAAI,CAAC,wBAAwB,CAAC;SACxC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YACnD,OAAO,IAAI,CAAC,kCAAkC,CAAC;SAClD;QAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACjE,CAAC;CACJ,CAAA;AAjBY,0BAA0B;IADtC,IAAA,mBAAU,GAAE;IAEI,WAAA,IAAA,eAAM,EAAC,yCAAiB,CAAC,CAAA;6CACmB,qDAAwB;QACd,0EAAkC;GAH5F,0BAA0B,CAiBtC;AAjBY,gEAA0B"}
|
|
@@ -2,7 +2,7 @@ import { VerifyResponseOptions } from '../../interfaces/verify-response-decorato
|
|
|
2
2
|
import { ScoreValidator } from '../../types';
|
|
3
3
|
import { GoogleRecaptchaModuleOptions } from '../../interfaces/google-recaptcha-module-options';
|
|
4
4
|
import { RecaptchaVerificationResult } from '../../models/recaptcha-verification-result';
|
|
5
|
-
export declare abstract class AbstractGoogleRecaptchaValidator<Res
|
|
5
|
+
export declare abstract class AbstractGoogleRecaptchaValidator<Res> {
|
|
6
6
|
protected readonly options: GoogleRecaptchaModuleOptions;
|
|
7
7
|
protected constructor(options: GoogleRecaptchaModuleOptions);
|
|
8
8
|
abstract validate(options: VerifyResponseOptions): Promise<RecaptchaVerificationResult<Res>>;
|
|
@@ -4,13 +4,14 @@ import { GoogleRecaptchaModuleOptions } from '../../interfaces/google-recaptcha-
|
|
|
4
4
|
import { VerifyResponseOptions } from '../../interfaces/verify-response-decorator-options';
|
|
5
5
|
import { AbstractGoogleRecaptchaValidator } from './abstract-google-recaptcha-validator';
|
|
6
6
|
import { RecaptchaVerificationResult } from '../../models/recaptcha-verification-result';
|
|
7
|
+
import { VerifyResponseEnterprise } from '../../interfaces/verify-response-enterprise';
|
|
7
8
|
import { EnterpriseReasonTransformer } from '../enterprise-reason.transformer';
|
|
8
|
-
export declare class GoogleRecaptchaEnterpriseValidator extends AbstractGoogleRecaptchaValidator {
|
|
9
|
+
export declare class GoogleRecaptchaEnterpriseValidator extends AbstractGoogleRecaptchaValidator<VerifyResponseEnterprise> {
|
|
9
10
|
private readonly http;
|
|
10
11
|
private readonly logger;
|
|
11
12
|
private readonly enterpriseReasonTransformer;
|
|
12
13
|
private readonly headers;
|
|
13
14
|
constructor(http: HttpService, logger: Logger, options: GoogleRecaptchaModuleOptions, enterpriseReasonTransformer: EnterpriseReasonTransformer);
|
|
14
|
-
validate(options: VerifyResponseOptions): Promise<RecaptchaVerificationResult
|
|
15
|
+
validate(options: VerifyResponseOptions): Promise<RecaptchaVerificationResult<VerifyResponseEnterprise>>;
|
|
15
16
|
private verifyResponse;
|
|
16
17
|
}
|
|
@@ -22,6 +22,7 @@ const error_code_1 = require("../../enums/error-code");
|
|
|
22
22
|
const google_recaptcha_network_exception_1 = require("../../exceptions/google-recaptcha-network.exception");
|
|
23
23
|
const google_recaptcha_context_1 = require("../../enums/google-recaptcha-context");
|
|
24
24
|
const enterprise_reason_transformer_1 = require("../enterprise-reason.transformer");
|
|
25
|
+
const rxjs_1 = require("rxjs");
|
|
25
26
|
let GoogleRecaptchaEnterpriseValidator = class GoogleRecaptchaEnterpriseValidator extends abstract_google_recaptcha_validator_1.AbstractGoogleRecaptchaValidator {
|
|
26
27
|
constructor(http, logger, options, enterpriseReasonTransformer) {
|
|
27
28
|
super(options);
|
|
@@ -54,7 +55,7 @@ let GoogleRecaptchaEnterpriseValidator = class GoogleRecaptchaEnterpriseValidato
|
|
|
54
55
|
return new recaptcha_verification_result_1.RecaptchaVerificationResult({
|
|
55
56
|
success,
|
|
56
57
|
errors,
|
|
57
|
-
nativeResponse: result
|
|
58
|
+
nativeResponse: result,
|
|
58
59
|
score: (_a = result === null || result === void 0 ? void 0 : result.riskAnalysis) === null || _a === void 0 ? void 0 : _a.score,
|
|
59
60
|
action: (_b = result === null || result === void 0 ? void 0 : result.tokenProperties) === null || _b === void 0 ? void 0 : _b.action,
|
|
60
61
|
hostname: ((_c = result === null || result === void 0 ? void 0 : result.tokenProperties) === null || _c === void 0 ? void 0 : _c.hostname) || '',
|
|
@@ -79,10 +80,9 @@ let GoogleRecaptchaEnterpriseValidator = class GoogleRecaptchaEnterpriseValidato
|
|
|
79
80
|
if (this.options.debug) {
|
|
80
81
|
this.logger.debug({ body }, `${google_recaptcha_context_1.GoogleRecaptchaContext.GoogleRecaptchaEnterprise}.request`);
|
|
81
82
|
}
|
|
82
|
-
return this.http.post(url, body, config)
|
|
83
|
-
.toPromise()
|
|
83
|
+
return (0, rxjs_1.firstValueFrom)(this.http.post(url, body, config))
|
|
84
84
|
.then(res => res.data)
|
|
85
|
-
.then(data => {
|
|
85
|
+
.then((data) => {
|
|
86
86
|
if (this.options.debug) {
|
|
87
87
|
this.logger.debug(data, `${google_recaptcha_context_1.GoogleRecaptchaContext.GoogleRecaptchaEnterprise}.response`);
|
|
88
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-recaptcha-enterprise.validator.js","sourceRoot":"","sources":["../../../src/services/validators/google-recaptcha-enterprise.validator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"google-recaptcha-enterprise.validator.js","sourceRoot":"","sources":["../../../src/services/validators/google-recaptcha-enterprise.validator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA2E;AAC3E,uEAA0G;AAC1G,yCAA4C;AAG5C,+FAAyF;AACzF,8FAAyF;AACzF,uDAAmD;AAEnD,4GAAsG;AACtG,mFAA8E;AAE9E,oFAA+E;AAC/E,+BAAsC;AAKtC,IAAa,kCAAkC,GAA/C,MAAa,kCAAmC,SAAQ,sEAA0D;IAG9G,YAA6D,IAAiB,EACvB,MAAc,EAC9B,OAAqC,EAC/C,2BAAwD;QACjF,KAAK,CAAC,OAAO,CAAC,CAAC;QAJ0C,SAAI,GAAJ,IAAI,CAAa;QACvB,WAAM,GAAN,MAAM,CAAQ;QAExC,gCAA2B,GAA3B,2BAA2B,CAA6B;QALpE,YAAO,GAAG,EAAC,cAAc,EAAE,kBAAkB,EAAC,CAAC;IAOhE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAA8B;;QACzC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAE3F,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,IAAI,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC;QAE3C,IAAI,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE;YACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;SACjG;QAED,IAAI,YAAY,EAAE;YACd,MAAM,CAAC,IAAI,CAAC,sBAAS,CAAC,YAAY,CAAC,CAAC;SACvC;QAED,IAAI,CAAC,MAAM,EAAE;YACT,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;gBAC7D,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,sBAAS,CAAC,eAAe,CAAC,CAAC;aAC1C;YAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC9D,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,sBAAS,CAAC,QAAQ,CAAC,CAAC;aACnC;SACJ;QAED,OAAO,IAAI,2DAA2B,CAAC;YACnC,OAAO;YACP,MAAM;YACN,cAAc,EAAE,MAAM;YACtB,KAAK,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,0CAAE,KAAK;YAClC,MAAM,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,0CAAE,MAAM;YACvC,QAAQ,EAAE,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,0CAAE,QAAQ,KAAI,EAAE;SACpD,CAAC,CAAC;IACP,CAAC;IAEO,cAAc,CAAC,QAAgB,EAAE,cAAsB;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;QACpD,MAAM,IAAI,GAAwC;YAC9C,KAAK,EAAE;gBACH,cAAc;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;gBACxC,KAAK,EAAE,QAAQ;aAClB;SACJ,CAAC;QAEF,MAAM,GAAG,GAAG,0DAA0D,SAAS,cAAc,CAAC;QAE9F,MAAM,MAAM,GAA6B;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE;gBACJ,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM;aACtC;SACJ,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAC,EAAE,GAAG,iDAAsB,CAAC,yBAAyB,UAAU,CAAC,CAAC;SAC5F;QAED,OAAO,IAAA,qBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAA2B,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;aAC7E,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;aACrB,IAAI,CAAC,CAAC,IAAI,EAAkB,EAAE;YAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,iDAAsB,CAAC,yBAAyB,WAAW,CAAC,CAAC;aAC3F;YAED,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAqB,EAAkB,EAAE;;YAC7C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,0CAAE,IAAI,KAAI,GAAG,CAAC,IAAI,IAAI,EAAC,KAAK,EAAE,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,KAAK,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,EAAC,EAC9F,GAAG,iDAAsB,CAAC,yBAAyB,QAAQ,CAC9D,CAAC;aACL;YAED,MAAM,gBAAgB,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,IAAI,CAAC;YAEtD,IAAI,gBAAgB,EAAE;gBAClB,MAAM,IAAI,oEAA+B,CAAC,gBAAgB,CAAC,CAAC;aAC/D;YAED,MAAM,OAAO,GAAkB,MAAA,GAAG,CAAC,QAAQ,0CAAE,IAAI,CAAC;YAElD,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACX,CAAC;CACJ,CAAA;AAjGY,kCAAkC;IAD9C,IAAA,mBAAU,GAAE;IAII,WAAA,IAAA,eAAM,EAAC,8CAAsB,CAAC,CAAA;IAC9B,WAAA,IAAA,eAAM,EAAC,wCAAgB,CAAC,CAAA;IACxB,WAAA,IAAA,eAAM,EAAC,yCAAiB,CAAC,CAAA;qCAF6B,mBAAW;QACf,eAAM,UAEX,2DAA2B;GAN5E,kCAAkC,CAiG9C;AAjGY,gFAAkC"}
|
|
@@ -5,7 +5,7 @@ import { HttpService } from "@nestjs/axios";
|
|
|
5
5
|
import { GoogleRecaptchaModuleOptions } from '../../interfaces/google-recaptcha-module-options';
|
|
6
6
|
import { AbstractGoogleRecaptchaValidator } from './abstract-google-recaptcha-validator';
|
|
7
7
|
import { RecaptchaVerificationResult } from '../../models/recaptcha-verification-result';
|
|
8
|
-
export declare class GoogleRecaptchaValidator extends AbstractGoogleRecaptchaValidator {
|
|
8
|
+
export declare class GoogleRecaptchaValidator extends AbstractGoogleRecaptchaValidator<VerifyResponseV3> {
|
|
9
9
|
private readonly http;
|
|
10
10
|
private readonly logger;
|
|
11
11
|
private readonly defaultNetwork;
|
|
@@ -23,6 +23,7 @@ const axios_1 = require("@nestjs/axios");
|
|
|
23
23
|
const abstract_google_recaptcha_validator_1 = require("./abstract-google-recaptcha-validator");
|
|
24
24
|
const recaptcha_verification_result_1 = require("../../models/recaptcha-verification-result");
|
|
25
25
|
const google_recaptcha_context_1 = require("../../enums/google-recaptcha-context");
|
|
26
|
+
const rxjs_1 = require("rxjs");
|
|
26
27
|
let GoogleRecaptchaValidator = class GoogleRecaptchaValidator extends abstract_google_recaptcha_validator_1.AbstractGoogleRecaptchaValidator {
|
|
27
28
|
constructor(http, logger, options) {
|
|
28
29
|
super(options);
|
|
@@ -67,8 +68,7 @@ let GoogleRecaptchaValidator = class GoogleRecaptchaValidator extends abstract_g
|
|
|
67
68
|
if (this.options.debug) {
|
|
68
69
|
this.logger.debug({ body }, `${google_recaptcha_context_1.GoogleRecaptchaContext.GoogleRecaptcha}.request`);
|
|
69
70
|
}
|
|
70
|
-
return this.http.post(url, body, config)
|
|
71
|
-
.toPromise()
|
|
71
|
+
return (0, rxjs_1.firstValueFrom)(this.http.post(url, body, config))
|
|
72
72
|
.then(res => res.data)
|
|
73
73
|
.then(data => {
|
|
74
74
|
if (this.options.debug) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-recaptcha.validator.js","sourceRoot":"","sources":["../../../src/services/validators/google-recaptcha.validator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4D;AAC5D,uEAA0G;AAC1G,kCAAkC;AAElC,mFAA8E;AAG9E,uDAAmD;AACnD,4GAAsG;AACtG,yCAA4C;AAE5C,+FAAyF;AACzF,8FAAyF;AACzF,mFAA8E;
|
|
1
|
+
{"version":3,"file":"google-recaptcha.validator.js","sourceRoot":"","sources":["../../../src/services/validators/google-recaptcha.validator.ts"],"names":[],"mappings":"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"}
|