mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) when redirecting, use protocol in APP_HOME_URL if available
Summary: Currently, Grist behind a reverse proxy will generate many needless redirects via `http`, and can't be used with only port 443. This diff centralizes generation of these redirects and uses the protocol in APP_HOME_URL if it is set. Test Plan: manually tested by rebuilding grist-core and doing a reverse proxy deployment that had no support for port 80. Prior to this change, there are lots of problems; after, the site works as expected. Reviewers: jarek Reviewed By: jarek Differential Revision: https://phab.getgrist.com/D3400
This commit is contained in:
@@ -61,6 +61,7 @@ import {expressWrap} from 'app/server/lib/expressWrap';
|
||||
import {GristLoginSystem, GristServer} from 'app/server/lib/GristServer';
|
||||
import * as log from 'app/server/lib/log';
|
||||
import {Permit} from 'app/server/lib/Permit';
|
||||
import {getOriginUrl} from 'app/server/lib/requestUtils';
|
||||
import {fromCallback} from 'app/server/lib/serverUtils';
|
||||
import {Sessions} from 'app/server/lib/Sessions';
|
||||
|
||||
@@ -156,7 +157,7 @@ export class SamlConfig {
|
||||
|
||||
// Starting point for login. It redirects to the IdP, and then to /saml/assert.
|
||||
app.get("/saml/login", expressWrap(async (req, res, next) => {
|
||||
res.redirect(await this.getLoginRedirectUrl(req, new URL(req.protocol + "://" + req.get('host'))));
|
||||
res.redirect(await this.getLoginRedirectUrl(req, new URL(getOriginUrl(req))));
|
||||
}));
|
||||
|
||||
// Assert endpoint for when the login completes as POST.
|
||||
|
||||
Reference in New Issue
Block a user