summaryrefslogtreecommitdiff
path: root/internal/server
diff options
context:
space:
mode:
authorjwijenbergh <jeroenwijenbergh@protonmail.com>2023-10-31 11:49:08 +0100
committerJeroen Wijenbergh <46386452+jwijenbergh@users.noreply.github.com>2023-11-01 11:37:39 +0100
commitcad29dcc046163a944167bbaf2292b3e591e01c6 (patch)
treed0d9aa05fb426b08360673ee61b7d0dfdd833dd7 /internal/server
parentdb2b2ac0406877c80c3bcc578a32850de7caab7a (diff)
OAuth + Server: Make ISS optional for custom servers
Diffstat (limited to 'internal/server')
-rw-r--r--internal/server/custom/custom.go4
-rw-r--r--internal/server/institute/institute.go4
-rw-r--r--internal/server/secure/secure.go4
3 files changed, 11 insertions, 1 deletions
diff --git a/internal/server/custom/custom.go b/internal/server/custom/custom.go
index af6ad67..376bcd6 100644
--- a/internal/server/custom/custom.go
+++ b/internal/server/custom/custom.go
@@ -32,6 +32,8 @@ func New(ctx context.Context, clientID string, u string) (*Server, error) {
API := b.Endpoints.API.V3
s := &Server{Basic: b}
- s.Auth.Init(clientID, u, API.Authorization, API.Token)
+ // we set ISS to empty here as we do not want to have ISS enabled for custom servers
+ // Otherwise we would have to normalise the URL which the user has entered which is error prone
+ s.Auth.Init(clientID, "", API.Authorization, API.Token)
return s, nil
}
diff --git a/internal/server/institute/institute.go b/internal/server/institute/institute.go
index 46977ac..82e51e6 100644
--- a/internal/server/institute/institute.go
+++ b/internal/server/institute/institute.go
@@ -43,6 +43,10 @@ func New(
API := b.Endpoints.API.V3
s := &Server{Basic: b}
+
+ if url == "" {
+ return nil, errors.New("URL passed to OAuth is empty")
+ }
s.Auth.Init(clientID, url, API.Authorization, API.Token)
return s, nil
}
diff --git a/internal/server/secure/secure.go b/internal/server/secure/secure.go
index c60c38e..16479fa 100644
--- a/internal/server/secure/secure.go
+++ b/internal/server/secure/secure.go
@@ -157,6 +157,10 @@ func (s *Server) Init(
return err
}
+ if b.URL == "" {
+ return errors.New("URL passed to OAuth is empty")
+ }
+
// Make sure oauth contains our endpoints
s.Auth.Init(clientID, b.URL, b.Endpoints.API.V3.Authorization, b.Endpoints.API.V3.Token)
return nil