Skip to content

Commit 0196b35

Browse files
authored
Warn users when they try to use a non-root-url to sign in/up (#32272)
1 parent 603fca1 commit 0196b35

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

web_src/js/features/common-page.ts

+8
Original file line numberDiff line numberDiff line change
@@ -91,3 +91,11 @@ export function checkAppUrl() {
9191
showGlobalErrorMessage(`Your ROOT_URL in app.ini is "${appUrl}", it's unlikely matching the site you are visiting.
9292
Mismatched ROOT_URL config causes wrong URL links for web UI/mail content/webhook notification/OAuth2 sign-in.`, 'warning');
9393
}
94+
95+
export function checkAppUrlScheme() {
96+
const curUrl = window.location.href;
97+
// some users visit "http://domain" while appUrl is "https://domain", COOKIE_SECURE makes it impossible to sign in
98+
if (curUrl.startsWith('http:') && appUrl.startsWith('https:')) {
99+
showGlobalErrorMessage(`This instance is configured to run under HTTPS (by ROOT_URL config), you are accessing by HTTP. Mismatched scheme might cause problems for sign-in/sign-up.`, 'warning');
100+
}
101+
}

web_src/js/features/user-auth.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
import {checkAppUrl} from './common-page.ts';
1+
import {checkAppUrl, checkAppUrlScheme} from './common-page.ts';
2+
3+
export function initUserCheckAppUrl() {
4+
if (!document.querySelector('.page-content.user.signin, .page-content.user.signup, .page-content.user.link-account')) return;
5+
checkAppUrlScheme();
6+
}
27

38
export function initUserAuthOauth2() {
49
const outer = document.querySelector('#oauth2-login-navigator');

web_src/js/index.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import {initFindFileInRepo} from './features/repo-findfile.ts';
2424
import {initCommentContent, initMarkupContent} from './markup/content.ts';
2525
import {initPdfViewer} from './render/pdf.ts';
2626

27-
import {initUserAuthOauth2} from './features/user-auth.ts';
27+
import {initUserAuthOauth2, initUserCheckAppUrl} from './features/user-auth.ts';
2828
import {
2929
initRepoIssueDue,
3030
initRepoIssueReferenceRepositorySearch,
@@ -219,6 +219,7 @@ onDomReady(() => {
219219
initCommitStatuses,
220220
initCaptcha,
221221

222+
initUserCheckAppUrl,
222223
initUserAuthOauth2,
223224
initUserAuthWebAuthn,
224225
initUserAuthWebAuthnRegister,

0 commit comments

Comments
 (0)