aboutsummaryrefslogtreecommitdiff
path: root/server/auth/gitlab/gitlab.go
diff options
context:
space:
mode:
Diffstat (limited to 'server/auth/gitlab/gitlab.go')
-rw-r--r--server/auth/gitlab/gitlab.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/server/auth/gitlab/gitlab.go b/server/auth/gitlab/gitlab.go
index f76b2e8..27edafa 100644
--- a/server/auth/gitlab/gitlab.go
+++ b/server/auth/gitlab/gitlab.go
@@ -2,6 +2,7 @@ package gitlab
import (
"errors"
+ "net/http"
"strconv"
"github.com/nsheridan/cashier/server/auth"
@@ -51,7 +52,6 @@ func New(c *config.Auth) (*Config, error) {
config: &oauth2.Config{
ClientID: c.OauthClientID,
ClientSecret: c.OauthClientSecret,
- RedirectURL: c.OauthCallbackURL,
Endpoint: oauth2.Endpoint{
AuthURL: siteURL + "oauth/authorize",
TokenURL: siteURL + "oauth/token",
@@ -110,7 +110,8 @@ func (c *Config) Revoke(token *oauth2.Token) error {
}
// StartSession retrieves an authentication endpoint from Gitlab.
-func (c *Config) StartSession(state string) *auth.Session {
+func (c *Config) StartSession(state string, r *http.Request) *auth.Session {
+ c.config.RedirectURL = auth.Oauth2RedirectURL(r)
return &auth.Session{
AuthURL: c.config.AuthCodeURL(state),
}