Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions web_src/js/features/common-global.js
Original file line number Diff line number Diff line change
Expand Up @@ -453,3 +453,12 @@ export function checkAppUrl() {
showGlobalErrorMessage(`Your ROOT_URL in app.ini is "${appUrl}", it's unlikely matching the site you are visiting.
Mismatched ROOT_URL config causes wrong URL links for web UI/mail content/webhook notification/OAuth2 sign-in.`, 'warning');
}

export function checkAppUrlScheme() {
const curUrl = window.location.href;
// some users visit "http://domain" while appUrl is "https://domain", COOKIE_SECURE makes it impossible to sign in
if (curUrl.startsWith('http:') && appUrl.startsWith('https:')) {
showGlobalErrorMessage(`Your ROOT_URL in app.ini "${appUrl}" uses HTTPS, it doesn't match the HTTP site you are visiting.
Mismatched ROOT_URL config would cause problems for sign-in/sign-up, etc.`, 'warning');
}
}
7 changes: 6 additions & 1 deletion web_src/js/features/user-auth.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
import {checkAppUrl} from './common-global.js';
import {checkAppUrl, checkAppUrlScheme} from './common-global.js';

export function initUserCheckAppUrl() {
if (!document.querySelector('.page-content.user.signin, .page-content.user.signup, .page-content.user.link-account')) return;
checkAppUrlScheme();
}

export function initUserAuthOauth2() {
const outer = document.getElementById('oauth2-login-navigator');
Expand Down
3 changes: 2 additions & 1 deletion web_src/js/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import {initFindFileInRepo} from './features/repo-findfile.js';
import {initCommentContent, initMarkupContent} from './markup/content.js';
import {initPdfViewer} from './render/pdf.js';

import {initUserAuthOauth2} from './features/user-auth.js';
import {initUserAuthOauth2, initUserCheckAppUrl} from './features/user-auth.js';
import {
initRepoIssueDue,
initRepoIssueReferenceRepositorySearch,
Expand Down Expand Up @@ -184,6 +184,7 @@ onDomReady(() => {
initCommitStatuses();
initCaptcha();

initUserCheckAppUrl();
initUserAuthOauth2();
initUserAuthWebAuthn();
initUserAuthWebAuthnRegister();
Expand Down