mirror of
https://github.com/bitwarden/browser
synced 2025-12-20 02:03:39 +00:00
[EC-639] Replacing apostrophe char for email values in Policies API request (#4390)
* [EC-639] Replacing single quote char for email values in Policies API request * [EC-639] Added Utils.encodeRFC3986URIComponent and used in PolicyApiService and TwoFactorAuthenticatorComponent * [EC-639] Added unit tests for Utils.encodeRFC3986URIComponent
This commit is contained in:
@@ -486,6 +486,18 @@ export class Utils {
|
||||
return Object.assign(destination, source) as unknown as Merge<Destination, Source>;
|
||||
}
|
||||
|
||||
/**
|
||||
* encodeURIComponent escapes all characters except the following:
|
||||
* alphabetic, decimal digits, - _ . ! ~ * ' ( )
|
||||
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent#encoding_for_rfc3986
|
||||
*/
|
||||
static encodeRFC3986URIComponent(str: string): string {
|
||||
return encodeURIComponent(str).replace(
|
||||
/[!'()*]/g,
|
||||
(c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`
|
||||
);
|
||||
}
|
||||
|
||||
private static isMobile(win: Window) {
|
||||
let mobile = false;
|
||||
((a) => {
|
||||
|
||||
@@ -5,6 +5,7 @@ import { PolicyApiServiceAbstraction } from "../../abstractions/policy/policy-ap
|
||||
import { InternalPolicyService } from "../../abstractions/policy/policy.service.abstraction";
|
||||
import { StateService } from "../../abstractions/state.service";
|
||||
import { PolicyType } from "../../enums/policyType";
|
||||
import { Utils } from "../../misc/utils";
|
||||
import { PolicyData } from "../../models/data/policy.data";
|
||||
import { MasterPasswordPolicyOptions } from "../../models/domain/master-password-policy-options";
|
||||
import { PolicyRequest } from "../../models/request/policy.request";
|
||||
@@ -54,7 +55,7 @@ export class PolicyApiService implements PolicyApiServiceAbstraction {
|
||||
"token=" +
|
||||
encodeURIComponent(token) +
|
||||
"&email=" +
|
||||
encodeURIComponent(email) +
|
||||
Utils.encodeRFC3986URIComponent(email) +
|
||||
"&organizationUserId=" +
|
||||
organizationUserId,
|
||||
null,
|
||||
|
||||
Reference in New Issue
Block a user