summaryrefslogtreecommitdiff
path: root/internal/server
diff options
context:
space:
mode:
authorjwijenbergh <jeroenwijenbergh@protonmail.com>2023-05-15 14:10:55 +0200
committerJeroen Wijenbergh <46386452+jwijenbergh@users.noreply.github.com>2023-09-25 09:43:37 +0200
commit4480416a3f4424eeefdf4117b7cf5120bfeafbcc (patch)
tree5fd7283c492f2ceb709432d1c571ae29b1d8b161 /internal/server
parent680c91aff531fca6fa2394094252520adac5f9e3 (diff)
Client + OAuth + Server: Initialize the OAuth clientID on add
Diffstat (limited to 'internal/server')
-rw-r--r--internal/server/custom/custom.go4
-rw-r--r--internal/server/institute/institute.go3
-rw-r--r--internal/server/list.go11
-rw-r--r--internal/server/secure/secure.go3
4 files changed, 12 insertions, 9 deletions
diff --git a/internal/server/custom/custom.go b/internal/server/custom/custom.go
index d4a0508..af6ad67 100644
--- a/internal/server/custom/custom.go
+++ b/internal/server/custom/custom.go
@@ -16,7 +16,7 @@ type (
Servers = institute.Servers
)
-func New(ctx context.Context, u string) (*Server, error) {
+func New(ctx context.Context, clientID string, u string) (*Server, error) {
pu, err := url.Parse(u)
if err != nil {
return nil, errors.WrapPrefix(err, "failed to parse custom server URL", 0)
@@ -32,6 +32,6 @@ func New(ctx context.Context, u string) (*Server, error) {
API := b.Endpoints.API.V3
s := &Server{Basic: b}
- s.Auth.Init(u, API.Authorization, API.Token)
+ s.Auth.Init(clientID, u, API.Authorization, API.Token)
return s, nil
}
diff --git a/internal/server/institute/institute.go b/internal/server/institute/institute.go
index ada1977..e0a52b7 100644
--- a/internal/server/institute/institute.go
+++ b/internal/server/institute/institute.go
@@ -25,6 +25,7 @@ type Servers struct {
func New(
ctx context.Context,
+ clientID string,
url string,
name map[string]string,
supportContact []string,
@@ -41,7 +42,7 @@ func New(
API := b.Endpoints.API.V3
s := &Server{Basic: b}
- s.Auth.Init(url, API.Authorization, API.Token)
+ s.Auth.Init(clientID, url, API.Authorization, API.Token)
return s, nil
}
diff --git a/internal/server/list.go b/internal/server/list.go
index 2660102..f3ae4e8 100644
--- a/internal/server/list.go
+++ b/internal/server/list.go
@@ -44,8 +44,8 @@ func (l *List) Current() (Server, error) {
return l.InstituteServers.Current()
}
-func (l *List) AddCustom(ctx context.Context, url string) (Server, error) {
- srv, err := custom.New(ctx, url)
+func (l *List) AddCustom(ctx context.Context, clientID string, url string) (Server, error) {
+ srv, err := custom.New(ctx, clientID, url)
if err != nil {
return nil, err
}
@@ -53,8 +53,8 @@ func (l *List) AddCustom(ctx context.Context, url string) (Server, error) {
return srv, nil
}
-func (l *List) AddInstituteAccess(ctx context.Context, discoServer *discotypes.Server) (Server, error) {
- srv, err := institute.New(ctx, discoServer.BaseURL, discoServer.DisplayName, discoServer.SupportContact)
+func (l *List) AddInstituteAccess(ctx context.Context, clientID string, discoServer *discotypes.Server) (Server, error) {
+ srv, err := institute.New(ctx, clientID, discoServer.BaseURL, discoServer.DisplayName, discoServer.SupportContact)
if err != nil {
return nil, err
}
@@ -64,12 +64,13 @@ func (l *List) AddInstituteAccess(ctx context.Context, discoServer *discotypes.S
func (l *List) AddSecureInternet(
ctx context.Context,
+ clientID string,
secureOrg *discotypes.Organization,
secureServer *discotypes.Server,
) (*secure.Server, error) {
// If we have specified an organization ID
// We also need to get an authorization template
- err := l.SecureInternetHomeServer.Init(ctx, secureOrg, secureServer)
+ err := l.SecureInternetHomeServer.Init(ctx, clientID, secureOrg, secureServer)
if err != nil {
return nil, err
}
diff --git a/internal/server/secure/secure.go b/internal/server/secure/secure.go
index bdddb93..d25bf02 100644
--- a/internal/server/secure/secure.go
+++ b/internal/server/secure/secure.go
@@ -94,6 +94,7 @@ func (s *Server) Location(ctx context.Context, locSrv *discotypes.Server) error
// Initializes the home server and adds its own location.
func (s *Server) Init(
ctx context.Context,
+ clientID string,
homeOrg *discotypes.Organization, homeLoc *discotypes.Server,
) error {
if s.HomeOrganizationID != homeOrg.OrgID {
@@ -120,7 +121,7 @@ func (s *Server) Init(
}
// Make sure oauth contains our endpoints
- s.Auth.Init(b.URL, b.Endpoints.API.V3.Authorization, b.Endpoints.API.V3.Token)
+ s.Auth.Init(clientID, b.URL, b.Endpoints.API.V3.Authorization, b.Endpoints.API.V3.Token)
return nil
}