diff --git a/src/auth.rs b/src/auth.rs
index 0aa7a682..186fbf48 100644
--- a/src/auth.rs
+++ b/src/auth.rs
@@ -111,7 +111,11 @@ impl<'a, 'r> FromRequest<'a, 'r> for Headers {
 
         // Get host
         let host = match headers.get_one("Host") {
-            Some(host) => format!("http://{}", host), // TODO: Check if HTTPS
+            Some(host) => {
+                use std::env;
+                let protocol = if env::var("ROCKET_TLS").is_ok() {"https"} else {"http"};
+                format!("{}://{}", protocol, host)
+            },
             _ => String::new()
         };