From 67942f7447571b269f0e5118a2b04081f1775b9e Mon Sep 17 00:00:00 2001 From: Griffin Smith Date: Sun, 26 Dec 2021 22:48:36 -0500 Subject: fix(grfn/bbbg): Configure web base url This was originally intended to work around the issue caused by me accidentally ending up proxy_set_header'ing the Host header twice (which nginx *concatenates with slashes*, rather than overwriting!), but seems sensible regardless to make that whole thing (hopefully) a bit less brittle Change-Id: I877fa594b46e88d1ba05e793832beab3d0aaccdd Reviewed-on: https://cl.tvl.fyi/c/depot/+/4697 Reviewed-by: grfn Autosubmit: grfn Tested-by: BuildkiteCI --- users/grfn/bbbg/module.nix | 1 + users/grfn/bbbg/src/bbbg/discord/auth.clj | 13 ++++++++++--- users/grfn/bbbg/src/bbbg/web.clj | 6 ++++-- 3 files changed, 15 insertions(+), 5 deletions(-) (limited to 'users') diff --git a/users/grfn/bbbg/module.nix b/users/grfn/bbbg/module.nix index cff9713962..297d846f22 100644 --- a/users/grfn/bbbg/module.nix +++ b/users/grfn/bbbg/module.nix @@ -71,6 +71,7 @@ in { PGUSER = cfg.database.user; PGDATABASE = cfg.database.name; PORT = toString cfg.port; + BASE_URL = "https://${cfg.domain}"; }; script = "${bbbg.server}/bin/bbbg-server"; diff --git a/users/grfn/bbbg/src/bbbg/discord/auth.clj b/users/grfn/bbbg/src/bbbg/discord/auth.clj index fddd15fd18..feb8393afb 100644 --- a/users/grfn/bbbg/src/bbbg/discord/auth.clj +++ b/users/grfn/bbbg/src/bbbg/discord/auth.clj @@ -54,15 +54,22 @@ "guilds.members.read" "identify"]) -(defn discord-oauth-profile [env] +(defn discord-oauth-profile [{:keys [base-url] :as env}] {:authorize-uri authorization-url :access-token-uri access-token-url :client-id (::client-id env) :client-secret (::client-secret env) :scopes scopes :launch-uri "/auth/discord" - :redirect-uri "/auth/discord/redirect" - :landing-uri "/auth/success"}) + :redirect-uri (str base-url "/auth/discord/redirect") + :landing-uri (str base-url "/auth/success")}) + +(comment + (-> "https://bbbg-staging.gws.fyi/auth/login" + (java.net.URI/create) + (.resolve "https://bbbg.gws.fyi/auth/discord/redirect") + str) + ) (defn wrap-discord-auth [handler env] (wrap-oauth2 handler {:discord (discord-oauth-profile env)})) diff --git a/users/grfn/bbbg/src/bbbg/web.clj b/users/grfn/bbbg/src/bbbg/web.clj index f364d734f3..f9755577a5 100644 --- a/users/grfn/bbbg/src/bbbg/web.clj +++ b/users/grfn/bbbg/src/bbbg/web.clj @@ -38,7 +38,8 @@ (s/def ::config (s/merge (s/keys :req [::port] - :opt [::cookie-secret]) + :opt [::cookie-secret + ::base-url]) ::discord.auth/config)) (s/fdef make-server @@ -58,7 +59,8 @@ (u/remove-nils (merge {::port (:port env 8888) - ::cookie-secret (some-> env :cookie-secret string->cookie-secret)} + ::cookie-secret (some-> env :cookie-secret string->cookie-secret) + ::base-url (:base-url env)} (discord.auth/env->config))))) (defn dev-config [] -- cgit 1.4.1