Skip to content

Instantly share code, notes, and snippets.

@lanrat
Created May 2, 2025 21:51
Show Gist options
  • Save lanrat/96a402c3296e74babd08a847bd1a1415 to your computer and use it in GitHub Desktop.
Save lanrat/96a402c3296e74babd08a847bd1a1415 to your computer and use it in GitHub Desktop.
CloudFlare Worker Google Workspace Redirects
const redirectStatusCode = 302;
const workspaceDomain = "example.com";
export default {
async fetch(request, env, ctx) {
var host = request.headers.get("Host").toLowerCase();
var prefix = host.split(".")[0];
var redir_continue="";
switch(prefix) {
case "mail":
redir_continue="mail.google.com";
break;
case "drive":
redir_continue="drive.google.com";
break;
case "meet":
redir_continue="meet.google.com";
break;
case "calendar":
redir_continue="calendar.google.com";
break;
case "groups":
redir_continue="groups.google.com";
break;
default:
return new Response(`Unknown Prefix: ${prefix}`);
}
return Response.redirect(`https://www.google.com/a/${workspaceDomain}/ServiceLogin?continue=https://${redir_continue}`, redirectStatusCode);
},
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment