Skip to content

Commit 194eab0

Browse files
committed
Rename captchaResp and fakeToken params
1 parent 8189fe9 commit 194eab0

File tree

5 files changed

+61
-27
lines changed

5 files changed

+61
-27
lines changed

packages/auth/src/api/account_management/mfa.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ export interface StartPhoneMfaEnrollmentRequest {
5757
idToken: string;
5858
phoneEnrollmentInfo: {
5959
phoneNumber: string;
60+
// reCAPTCHA v2 token
6061
recaptchaToken?: string;
62+
// reCAPTCHA Enterprise token
6163
captchaResponse?: string;
6264
clientType?: RecaptchaClientType;
6365
recaptchaVersion?: RecaptchaVersion;

packages/auth/src/api/authentication/mfa.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ export interface StartPhoneMfaSignInRequest {
4949
mfaPendingCredential: string;
5050
mfaEnrollmentId: string;
5151
phoneSignInInfo: {
52+
// reCAPTCHA v2 token
5253
recaptchaToken?: string;
54+
// reCAPTCHA Enterprise token
5355
captchaResponse?: string;
5456
clientType?: RecaptchaClientType;
5557
recaptchaVersion?: RecaptchaVersion;

packages/auth/src/api/authentication/sms.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,10 @@ import { Auth } from '../../model/public_types';
3232

3333
export interface SendPhoneVerificationCodeRequest {
3434
phoneNumber: string;
35+
// reCAPTCHA v2 token
3536
recaptchaToken?: string;
3637
tenantId?: string;
38+
// reCAPTCHA Enterprise token
3739
captchaResponse?: string;
3840
clientType?: RecaptchaClientType;
3941
recaptchaVersion?: RecaptchaVersion;

packages/auth/src/platform_browser/recaptcha/recaptcha.test.ts

Lines changed: 51 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ describe('platform_browser/recaptcha/recaptcha', () => {
3939
let recaptchaV2: MockReCaptcha;
4040
let recaptchaV3: MockGreCAPTCHA;
4141
let recaptchaEnterprise: MockGreCAPTCHATopLevel;
42-
let recaptchaConfig: RecaptchaConfig;
4342

4443
const TEST_SITE_KEY = 'test-site-key';
4544

@@ -57,6 +56,41 @@ describe('platform_browser/recaptcha/recaptcha', () => {
5756
]
5857
};
5958

59+
const GET_RECAPTCHA_CONFIG_RESPONSE_OFF: GetRecaptchaConfigResponse = {
60+
recaptchaKey: 'projects/testproj/keys/' + TEST_SITE_KEY,
61+
recaptchaEnforcementState: [
62+
{
63+
provider: RecaptchaProvider.EMAIL_PASSWORD_PROVIDER,
64+
enforcementState: EnforcementState.OFF
65+
},
66+
{
67+
provider: RecaptchaProvider.PHONE_PROVIDER,
68+
enforcementState: EnforcementState.OFF
69+
}
70+
]
71+
};
72+
73+
const GET_RECAPTCHA_CONFIG_RESPONSE_ENFORCE_AND_OFF: GetRecaptchaConfigResponse =
74+
{
75+
recaptchaKey: 'projects/testproj/keys/' + TEST_SITE_KEY,
76+
recaptchaEnforcementState: [
77+
{
78+
provider: RecaptchaProvider.EMAIL_PASSWORD_PROVIDER,
79+
enforcementState: EnforcementState.ENFORCE
80+
},
81+
{
82+
provider: RecaptchaProvider.PHONE_PROVIDER,
83+
enforcementState: EnforcementState.OFF
84+
}
85+
]
86+
};
87+
88+
const recaptchaConfig = new RecaptchaConfig(GET_RECAPTCHA_CONFIG_RESPONSE);
89+
const recaptchaConfigOff = new RecaptchaConfig(GET_RECAPTCHA_CONFIG_RESPONSE_OFF);
90+
const recaptchaConfigEnforceAndOff = new RecaptchaConfig(
91+
GET_RECAPTCHA_CONFIG_RESPONSE_ENFORCE_AND_OFF
92+
);
93+
6094
context('#verify', () => {
6195
beforeEach(async () => {
6296
auth = await testAuth();
@@ -81,10 +115,6 @@ describe('platform_browser/recaptcha/recaptcha', () => {
81115
});
82116

83117
context('#RecaptchaConfig', () => {
84-
beforeEach(async () => {
85-
recaptchaConfig = new RecaptchaConfig(GET_RECAPTCHA_CONFIG_RESPONSE);
86-
});
87-
88118
it('should construct the recaptcha config from the backend response', () => {
89119
expect(recaptchaConfig.siteKey).to.eq(TEST_SITE_KEY);
90120
expect(recaptchaConfig.recaptchaEnforcementState[0]).to.eql({
@@ -95,6 +125,10 @@ describe('platform_browser/recaptcha/recaptcha', () => {
95125
provider: RecaptchaProvider.PHONE_PROVIDER,
96126
enforcementState: EnforcementState.AUDIT
97127
});
128+
expect(recaptchaConfigEnforceAndOff.recaptchaEnforcementState[1]).to.eql({
129+
provider: RecaptchaProvider.PHONE_PROVIDER,
130+
enforcementState: EnforcementState.OFF
131+
});
98132
});
99133

100134
it('#getProviderEnforcementState should return the correct enforcement state of the provider', () => {
@@ -108,6 +142,11 @@ describe('platform_browser/recaptcha/recaptcha', () => {
108142
RecaptchaProvider.PHONE_PROVIDER
109143
)
110144
).to.eq(EnforcementState.AUDIT);
145+
expect(
146+
recaptchaConfigEnforceAndOff.getProviderEnforcementState(
147+
RecaptchaProvider.PHONE_PROVIDER
148+
)
149+
).to.eq(EnforcementState.OFF);
111150
expect(recaptchaConfig.getProviderEnforcementState('invalid-provider')).to
112151
.be.null;
113152
});
@@ -121,29 +160,18 @@ describe('platform_browser/recaptcha/recaptcha', () => {
121160
expect(
122161
recaptchaConfig.isProviderEnabled(RecaptchaProvider.PHONE_PROVIDER)
123162
).to.be.true;
163+
expect(
164+
recaptchaConfigEnforceAndOff.isProviderEnabled(
165+
RecaptchaProvider.PHONE_PROVIDER
166+
)
167+
).to.be.false;
124168
expect(recaptchaConfig.isProviderEnabled('invalid-provider')).to.be.false;
125169
});
126170

127171
it('#isAnyProviderEnabled should return true if at least one provider is enabled', () => {
128172
expect(recaptchaConfig.isAnyProviderEnabled()).to.be.true;
129-
130-
const getRecaptchaConfigResponse: GetRecaptchaConfigResponse = {
131-
recaptchaKey: 'projects/testproj/keys/' + TEST_SITE_KEY,
132-
recaptchaEnforcementState: [
133-
{
134-
provider: RecaptchaProvider.EMAIL_PASSWORD_PROVIDER,
135-
enforcementState: EnforcementState.OFF
136-
},
137-
{
138-
provider: RecaptchaProvider.PHONE_PROVIDER,
139-
enforcementState: EnforcementState.OFF
140-
}
141-
]
142-
};
143-
const configNoProviderEnabled = new RecaptchaConfig(
144-
getRecaptchaConfigResponse
145-
);
146-
expect(configNoProviderEnabled.isAnyProviderEnabled()).to.be.false;
173+
expect(recaptchaConfigEnforceAndOff.isAnyProviderEnabled()).to.be.true;
174+
expect(recaptchaConfigOff.isAnyProviderEnabled()).to.be.false;
147175
});
148176
});
149177
});

packages/auth/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,13 +157,13 @@ export async function injectRecaptchaFields<T>(
157157
auth: AuthInternal,
158158
request: T,
159159
action: RecaptchaActionName,
160-
captchaResp = false,
161-
fakeToken = false
160+
isCaptchaResp = false,
161+
isFakeToken = false
162162
): Promise<T> {
163163
const verifier = new RecaptchaEnterpriseVerifier(auth);
164164
let captchaResponse;
165165

166-
if (fakeToken) {
166+
if (isFakeToken) {
167167
captchaResponse = FAKE_TOKEN;
168168
} else {
169169
try {
@@ -212,7 +212,7 @@ export async function injectRecaptchaFields<T>(
212212
return newRequest;
213213
}
214214

215-
if (!captchaResp) {
215+
if (!isCaptchaResp) {
216216
Object.assign(newRequest, { captchaResponse });
217217
} else {
218218
Object.assign(newRequest, { 'captchaResp': captchaResponse });

0 commit comments

Comments
 (0)