I’m having the same issue, affecting both SSO and /users/admin-login logins.
I’m not sure what’s happening here. This is how things go:
- I hit
/via HTTPS without any cookies. - I am given a cookie like this:
_forum_session=bVd; path=/; HttpOnly, and redirected to/session/sso. Makes sense! - I hit
/session/ssovia HTTPS, sendingCookie: _forum_session=bVd. Discourse responds with a redirect to my SSO URL, and sets a new cookie:_forum_session=VXd; path=/; HttpOnly. Why do I get a new cookie? - After a little dance with the SSO source, I hit
/session/sso_login?sso=xxxxxxvia HTTPS, sendingCookie: _forum_session=VXdwith the request. Discourse redirects to/, sending a third cookie:Set-Cookie: _forum_session=QzB; path=/; HttpOnly - I hit
/via HTTPS, the cookie is sent:Cookie: _forum_session=QzB. However, this is treated like an unauthenticated request, I’m issued a new cookie and sent to/session/ssoagain.
Disabling force_ssl fixes this. Note that all requests are made over HTTPS. Also note that the cookies aren’t actually marked as secure.
My install is also behind an nginx proxy.