@nestlab/google-recaptcha 3.4.1 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## v3.6.0
4
+ - Added `remoteIp?: (req) => string` option into:
5
+ - Module options
6
+ - Decorator options to override default
7
+ - Validator options
8
+
9
+ ## v3.5.0
10
+ - Added `global?: boolean` module option
11
+
3
12
  ## v3.4.1
4
13
  - Fixed import LiteralObject for NestJS 10
5
14
 
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @nestlab/google-recaptcha
1
+ # Google recaptcha module
2
2
 
3
3
  This package provides protection for endpoints using [reCAPTCHA](https://www.google.com/recaptcha/about/) for [NestJS](https://docs.nestjs.com/) REST and GraphQL applications. By integrating with reCAPTCHA, this package helps to prevent automated abuse such as spam and bots, improving the security and reliability of your application.
4
4
 
@@ -57,11 +57,13 @@ The list of changes made in the project can be found in the [CHANGELOG.md](./CHA
57
57
  | `debug` | Optional.<br> Type: `boolean` <br> Default: `false` <br> Enables logging requests, responses, errors and transformed results |
58
58
  | `logger` | Optional.<br> Type: `Logger` <br> Default: `new Logger()` <br> Instance of custom logger that extended from Logger (@nestjs/common) |
59
59
  | `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 |
60
- | `enterprise` | Optional.<br> Type: `GoogleRecaptchaEnterpriseOptions` <br> Options for using recCAPTCHA Enterprise API. Cannot using with `secretKey` option. |
60
+ | `enterprise` | Optional.<br> Type: `GoogleRecaptchaEnterpriseOptions` <br> Options for using reCAPTCHA Enterprise API. Cannot be used with `secretKey` option. |
61
61
  | `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 |
62
62
  | `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. |
63
63
  | `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. |
64
+ | `remoteIp` | Optional.<br> Type: `(request) => string`<br> A function that returns a remote IP address from the request |
64
65
  | `axiosConfig` | Optional.<br> Type: `AxiosRequestConfig`<br> Allows to setup proxy, response timeout, https agent etc... |
66
+ | `global` | Optional.<br> Type: `boolean` <br> Default: `false` Defines a module in the [global scope](https://docs.nestjs.com/modules#global-modules). |
65
67
 
66
68
  **GoogleRecaptchaEnterpriseOptions**
67
69
 
@@ -40,7 +40,7 @@ class GoogleRecaptchaModule {
40
40
  },
41
41
  ];
42
42
  return {
43
- global: true,
43
+ global: options.global != null ? options.global : true,
44
44
  module: GoogleRecaptchaModule,
45
45
  providers: providers.concat(internalProviders),
46
46
  exports: providers,
@@ -74,7 +74,7 @@ class GoogleRecaptchaModule {
74
74
  },
75
75
  ];
76
76
  return {
77
- global: true,
77
+ global: options.global != null ? options.global : true,
78
78
  module: GoogleRecaptchaModule,
79
79
  imports: options.imports,
80
80
  providers: providers.concat(internalProviders),
@@ -1 +1 @@
1
- {"version":3,"file":"google-recaptcha.module.js","sourceRoot":"","sources":["../src/google-recaptcha.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google-recaptcha.module.js","sourceRoot":"","sources":["../src/google-recaptcha.module.ts"],"names":[],"mappings":"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"}
@@ -36,11 +36,14 @@ let GoogleRecaptchaGuard = class GoogleRecaptchaGuard {
36
36
  return true;
37
37
  }
38
38
  const options = this.reflector.get(provider_declarations_1.RECAPTCHA_VALIDATION_OPTIONS, context.getHandler());
39
- const response = (options === null || options === void 0 ? void 0 : options.response) ? await options.response(request) : await this.options.response(request);
39
+ const [response, remoteIp] = await Promise.all([
40
+ (options === null || options === void 0 ? void 0 : options.response) ? await options.response(request) : await this.options.response(request),
41
+ (options === null || options === void 0 ? void 0 : options.remoteIp) ? await options.remoteIp(request) : await this.options.remoteIp && this.options.remoteIp(request),
42
+ ]);
40
43
  const score = (options === null || options === void 0 ? void 0 : options.score) || this.options.score;
41
44
  const action = options === null || options === void 0 ? void 0 : options.action;
42
45
  const validator = this.validatorResolver.resolve();
43
- request.recaptchaValidationResult = await validator.validate({ response, score, action });
46
+ request.recaptchaValidationResult = await validator.validate({ response, remoteIp, score, action });
44
47
  if (this.options.debug) {
45
48
  const loggerCtx = this.resolveLogContext(validator);
46
49
  this.logger.debug(request.recaptchaValidationResult.toObject(), `${loggerCtx}.result`);
@@ -1 +1 @@
1
- {"version":3,"file":"google-recaptcha.guard.js","sourceRoot":"","sources":["../../src/guards/google-recaptcha.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA2F;AAC3F,oEAA6G;AAC7G,yFAAoF;AACpF,uCAAyC;AACzC,uFAAkF;AAGlF,2FAAsF;AACtF,gFAA2E;AAE3E,wHAAkH;AAI3G,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAChC,YACkB,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;IAC/E,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC1C,MAAM,OAAO,GAAkB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAErE,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAEpH,IAAI,IAAI,EAAE;YACT,OAAO,IAAI,CAAC;SACZ;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,EAAC,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE5G,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,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAE1F,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACvB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,QAAQ,EAAE,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC;SACvF;QAED,IAAI,OAAO,CAAC,yBAAyB,CAAC,OAAO,EAAE;YAC9C,OAAO,IAAI,CAAC;SACZ;QAED,MAAM,IAAI,qDAAwB,CAAC,OAAO,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC9E,CAAC;IAEO,iBAAiB,CAAC,SAAoD;QAC7E,OAAO,SAAS,YAAY,0EAAkC;YAC7D,CAAC,CAAC,iDAAsB,CAAC,yBAAyB;YAClD,CAAC,CAAC,iDAAsB,CAAC,eAAe,CAAC;IAC3C,CAAC;CACD,CAAA;AA9CY,oBAAoB;IADhC,IAAA,mBAAU,GAAE;IAMV,WAAA,IAAA,eAAM,EAAC,wCAAgB,CAAC,CAAA;IACxB,WAAA,IAAA,eAAM,EAAC,yCAAiB,CAAC,CAAA;qCAJE,gBAAS;QACH,qDAAwB;QACtB,yDAA0B;QACX,eAAM;GAL9C,oBAAoB,CA8ChC;AA9CY,oDAAoB"}
1
+ {"version":3,"file":"google-recaptcha.guard.js","sourceRoot":"","sources":["../../src/guards/google-recaptcha.guard.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { RecaptchaResponseProvider, ScoreValidator } from '../types';
1
+ import { RecaptchaRemoteIpProvider, RecaptchaResponseProvider, ScoreValidator } from "../types";
2
2
  export interface GoogleRecaptchaGuardOptions {
3
3
  response: RecaptchaResponseProvider;
4
+ remoteIp?: RecaptchaRemoteIpProvider;
4
5
  skipIf?: boolean | (<Req = unknown>(request: Req) => boolean | Promise<boolean>);
5
6
  score?: ScoreValidator;
6
7
  }
@@ -7,6 +7,7 @@ import { OptionalFactoryDependency } from '@nestjs/common/interfaces/modules/opt
7
7
  export interface GoogleRecaptchaModuleOptions extends GoogleRecaptchaValidatorOptions, GoogleRecaptchaGuardOptions {
8
8
  debug?: boolean;
9
9
  logger?: Logger;
10
+ global?: boolean;
10
11
  }
11
12
  export interface GoogleRecaptchaOptionsFactory {
12
13
  createGoogleRecaptchaOptions(): Promise<GoogleRecaptchaModuleOptions> | GoogleRecaptchaModuleOptions;
@@ -15,5 +16,6 @@ export interface GoogleRecaptchaModuleAsyncOptions extends Pick<ModuleMetadata,
15
16
  inject?: Array<InjectionToken | OptionalFactoryDependency>;
16
17
  useClass?: Type<GoogleRecaptchaOptionsFactory>;
17
18
  useExisting?: Type<GoogleRecaptchaOptionsFactory>;
18
- useFactory?: (...args: any[]) => Promise<GoogleRecaptchaModuleOptions> | GoogleRecaptchaModuleOptions;
19
+ useFactory?: (...args: any[]) => Promise<Omit<GoogleRecaptchaModuleOptions, 'global'>> | Omit<GoogleRecaptchaModuleOptions, 'global'>;
20
+ global?: boolean;
19
21
  }
@@ -1,11 +1,13 @@
1
- import { RecaptchaResponseProvider, ScoreValidator } from '../types';
1
+ import { RecaptchaRemoteIpProvider, RecaptchaResponseProvider, ScoreValidator } from "../types";
2
2
  export interface VerifyResponseDecoratorOptions {
3
3
  response?: RecaptchaResponseProvider;
4
+ remoteIp?: RecaptchaRemoteIpProvider;
4
5
  score?: ScoreValidator;
5
6
  action?: string;
6
7
  }
7
8
  export interface VerifyResponseOptions {
8
9
  response: string;
10
+ remoteIp?: string;
9
11
  score?: ScoreValidator;
10
12
  action?: string;
11
13
  }
@@ -10,6 +10,7 @@ export interface VerifyTokenEnterpriseEvent {
10
10
  token: string;
11
11
  siteKey: string;
12
12
  expectedAction: string;
13
+ userIpAddress?: string;
13
14
  }
14
15
  export interface VerifyTokenEnterpriseResponseEvent extends VerifyTokenEnterpriseEvent {
15
16
  userAgent: string;
@@ -7,12 +7,14 @@ export interface RecaptchaVerificationResultOptions<Res> {
7
7
  hostname: string;
8
8
  action?: string;
9
9
  score?: number;
10
+ remoteIp?: string;
10
11
  errors: ErrorCode[];
11
12
  }
12
13
  export declare class RecaptchaVerificationResult<Res = LiteralObject> {
13
14
  private readonly options;
14
15
  readonly success: boolean;
15
16
  readonly hostname: string;
17
+ readonly remoteIp: string | undefined;
16
18
  readonly action: string | undefined;
17
19
  readonly score: number | undefined;
18
20
  readonly nativeResponse: Res;
@@ -7,6 +7,7 @@ class RecaptchaVerificationResult {
7
7
  this.success = options.success;
8
8
  this.hostname = options.hostname;
9
9
  this.action = options.action;
10
+ this.remoteIp = options.remoteIp;
10
11
  this.score = options.score;
11
12
  this.errors = options.errors;
12
13
  this.nativeResponse = options.nativeResponse;
@@ -17,6 +18,7 @@ class RecaptchaVerificationResult {
17
18
  hostname: this.hostname,
18
19
  action: this.action,
19
20
  score: this.score,
21
+ remoteIp: this.remoteIp,
20
22
  errors: this.errors,
21
23
  nativeResponse: this.nativeResponse,
22
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"recaptcha-verification-result.js","sourceRoot":"","sources":["../../src/models/recaptcha-verification-result.ts"],"names":[],"mappings":";;;AAaA,MAAa,2BAA2B;IAavC,YAA6B,OAAgD;QAAhD,YAAO,GAAP,OAAO,CAAyC;QAC5E,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;IAC9C,CAAC;IAED,QAAQ;QACP,OAAO;YACN,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc;SACnC,CAAC;IACH,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,0BAA0B;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE/B,OAAO,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;IACpC,CAAC;CACD;AA1CD,kEA0CC"}
1
+ {"version":3,"file":"recaptcha-verification-result.js","sourceRoot":"","sources":["../../src/models/recaptcha-verification-result.ts"],"names":[],"mappings":";;;AAcA,MAAa,2BAA2B;IAevC,YAA6B,OAAgD;QAAhD,YAAO,GAAP,OAAO,CAAyC;QAC5E,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,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,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;IAC9C,CAAC;IAED,QAAQ;QACP,OAAO;YACN,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc;SACnC,CAAC;IACH,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,0BAA0B;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE/B,OAAO,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;IACpC,CAAC;CACD;AA9CD,kEA8CC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestlab/google-recaptcha",
3
- "version": "3.4.1",
3
+ "version": "3.6.0",
4
4
  "description": "Google recaptcha module for NestJS.",
5
5
  "keywords": [
6
6
  "nestjs",
@@ -43,13 +43,13 @@
43
43
  }
44
44
  },
45
45
  "devDependencies": {
46
- "@nestjs/apollo": "^12.0.1",
46
+ "@nestjs/apollo": "^12.0.9",
47
47
  "@nestjs/axios": "^3.0.0",
48
- "@nestjs/common": "^10.0.1",
49
- "@nestjs/core": "^10.0.1",
50
- "@nestjs/graphql": "^12.0.1",
51
- "@nestjs/platform-express": "^10.0.1",
52
- "@nestjs/testing": "^10.0.1",
48
+ "@nestjs/common": "^10.2.7",
49
+ "@nestjs/core": "^10.2.7",
50
+ "@nestjs/graphql": "^12.0.9",
51
+ "@nestjs/platform-express": "^10.2.7",
52
+ "@nestjs/testing": "^10.2.7",
53
53
  "@types/express": "^4.17.13",
54
54
  "@types/jest": "^29.0.0",
55
55
  "@types/node": "^18.7.14",
@@ -32,7 +32,7 @@ let GoogleRecaptchaEnterpriseValidator = class GoogleRecaptchaEnterpriseValidato
32
32
  }
33
33
  async validate(options) {
34
34
  var _a, _b, _c, _d;
35
- const [result, errorDetails] = await this.verifyResponse(options.response, options.action);
35
+ const [result, errorDetails] = await this.verifyResponse(options.response, options.action, options.remoteIp);
36
36
  const errors = [];
37
37
  let success = ((_a = result === null || result === void 0 ? void 0 : result.tokenProperties) === null || _a === void 0 ? void 0 : _a.valid) || false;
38
38
  if (!errorDetails) {
@@ -60,18 +60,20 @@ let GoogleRecaptchaEnterpriseValidator = class GoogleRecaptchaEnterpriseValidato
60
60
  success,
61
61
  errors,
62
62
  nativeResponse: result,
63
+ remoteIp: options.remoteIp,
63
64
  score: (_b = result === null || result === void 0 ? void 0 : result.riskAnalysis) === null || _b === void 0 ? void 0 : _b.score,
64
65
  action: (_c = result === null || result === void 0 ? void 0 : result.tokenProperties) === null || _c === void 0 ? void 0 : _c.action,
65
66
  hostname: ((_d = result === null || result === void 0 ? void 0 : result.tokenProperties) === null || _d === void 0 ? void 0 : _d.hostname) || '',
66
67
  });
67
68
  }
68
- verifyResponse(response, expectedAction) {
69
+ verifyResponse(response, expectedAction, remoteIp) {
69
70
  const projectId = this.options.enterprise.projectId;
70
71
  const body = {
71
72
  event: {
72
73
  expectedAction,
73
74
  siteKey: this.options.enterprise.siteKey,
74
75
  token: response,
76
+ userIpAddress: remoteIp,
75
77
  },
76
78
  };
77
79
  const url = `https://recaptchaenterprise.googleapis.com/v1/projects/${projectId}/assessments`;
@@ -1 +1 @@
1
- {"version":3,"file":"google-recaptcha-enterprise.validator.js","sourceRoot":"","sources":["../../../src/services/validators/google-recaptcha-enterprise.validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google-recaptcha-enterprise.validator.js","sourceRoot":"","sources":["../../../src/services/validators/google-recaptcha-enterprise.validator.ts"],"names":[],"mappings":"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"}
@@ -36,11 +36,12 @@ let GoogleRecaptchaValidator = class GoogleRecaptchaValidator extends abstract_g
36
36
  * @param {VerifyResponseOptions} options
37
37
  */
38
38
  async validate(options) {
39
- const result = await this.verifyResponse(options.response);
39
+ const result = await this.verifyResponse(options.response, options.remoteIp);
40
40
  if (!this.isUseV3(result)) {
41
41
  const resV2 = result;
42
42
  return new recaptcha_verification_result_1.RecaptchaVerificationResult({
43
43
  nativeResponse: resV2,
44
+ remoteIp: options.remoteIp,
44
45
  score: undefined,
45
46
  action: undefined,
46
47
  errors: resV2.errors,
@@ -59,6 +60,7 @@ let GoogleRecaptchaValidator = class GoogleRecaptchaValidator extends abstract_g
59
60
  const nativeResponse = Object.assign({}, result);
60
61
  return new recaptcha_verification_result_1.RecaptchaVerificationResult({
61
62
  nativeResponse: nativeResponse,
63
+ remoteIp: options.remoteIp,
62
64
  score: result.score,
63
65
  errors: result.errors,
64
66
  success: result.success,
@@ -66,8 +68,8 @@ let GoogleRecaptchaValidator = class GoogleRecaptchaValidator extends abstract_g
66
68
  hostname: result.hostname,
67
69
  });
68
70
  }
69
- verifyResponse(response) {
70
- const body = qs.stringify({ secret: this.options.secretKey, response });
71
+ verifyResponse(response, remoteIp) {
72
+ const body = qs.stringify({ secret: this.options.secretKey, response, remoteip: remoteIp });
71
73
  const url = this.options.network || this.defaultNetwork;
72
74
  const config = {
73
75
  headers: this.headers,
@@ -1 +1 @@
1
- {"version":3,"file":"google-recaptcha.validator.js","sourceRoot":"","sources":["../../../src/services/validators/google-recaptcha.validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google-recaptcha.validator.js","sourceRoot":"","sources":["../../../src/services/validators/google-recaptcha.validator.ts"],"names":[],"mappings":"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"}
package/types.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { ContextType } from '@nestjs/common';
2
2
  export declare type RecaptchaResponseProvider = (req: any) => string | Promise<string>;
3
+ export declare type RecaptchaRemoteIpProvider = (req: any) => string | Promise<string>;
3
4
  export declare type ScoreValidator = number | ((score: number) => boolean);
4
5
  export declare type RecaptchaContextType = ContextType | 'graphql';