Skip to content

Commit

Permalink
Defined reCAPTCHA config. (#1574)
Browse files Browse the repository at this point in the history
* Defined reCAPTCHA config.
 - Added reCAPTCHA protection states.
 - Added reCAPTCHA action rule.
 - Added reCAPTCHA key config.
  • Loading branch information
Xiaoshouzi-gh committed Mar 2, 2023
1 parent 7e52917 commit be100b7
Showing 1 changed file with 65 additions and 0 deletions.
65 changes: 65 additions & 0 deletions src/auth/auth-config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1594,3 +1594,68 @@ export class SmsRegionsAuthConfig {
}
}
}

/**
* Enforcement state of reCAPTCHA protection.
* - 'OFF': Unenforced.
* - 'AUDIT': Assessment is created but result is not used to enforce.
* - 'ENFORCE': Assessment is created and result is used to enforce.
*/
export type RecaptchaProviderEnforcementState = 'OFF' | 'AUDIT' | 'ENFORCE';

/**
* The actions for reCAPTCHA-protected requests.
* - 'BLOCK': The reCAPTCHA-protected request will be blocked.
*/
export type RecaptchaAction = 'BLOCK';

/**
* The config for a reCAPTCHA action rule.
*/
export interface RecaptchaManagedRule {
/**
* The action will be enforced if the reCAPTCHA score of a request is larger than endScore.
*/
endScore: number;
/**
* The action for reCAPTCHA-protected requests.
*/
action?: RecaptchaAction;
}

/**
* The key's platform type: only web supported now.
*/
export type RecaptchaKeyClientType = 'WEB';

/**
* The reCAPTCHA key config.
*/
export interface RecaptchaKey {
/**
* The key's client platform type.
*/
type?: RecaptchaKeyClientType;

/**
* The reCAPTCHA site key.
*/
key: string;
}

export interface RecaptchaConfig {
/**
* The enforcement state of email password provider.
*/
emailPasswordEnforcementState?: RecaptchaProviderEnforcementState;

/**
* The reCAPTCHA managed rules.
*/
managedRules: RecaptchaManagedRule[];

/**
* The reCAPTCHA keys.
*/
recaptchaKeys?: RecaptchaKey[];
}

0 comments on commit be100b7

Please sign in to comment.