David - Musings of an SRE

Fixing OmniAuth Redirecting to a URI with Port

Came across this problem the other day when deploying a Rails application that is sitting behind Kubernetes and Deis

With my Rails application using OmniAuth and its Facebook strategy, after a user logins, hits Facebook and returns a redirection, the URL returned has its port 80 embedded in the return URI like: https://domain.com:80.

In most cases, this wouldn’t be a problem but Facebook would return an error as the return URI (with the port 80) is not whitelisted hence creating a bad flow for your user.

In order to fix this, you just need to tell OmniAuth where to redirect.

Just add the following in either your environments/*.rb file or create a new initializer file in your config/initializers.

OmniAuth.config.full_host = "https://domain.com"