diff options
| author | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2023-05-15 14:10:55 +0200 |
|---|---|---|
| committer | Jeroen Wijenbergh <46386452+jwijenbergh@users.noreply.github.com> | 2023-09-25 09:43:37 +0200 |
| commit | 4480416a3f4424eeefdf4117b7cf5120bfeafbcc (patch) | |
| tree | 5fd7283c492f2ceb709432d1c571ae29b1d8b161 /internal/server | |
| parent | 680c91aff531fca6fa2394094252520adac5f9e3 (diff) | |
Client + OAuth + Server: Initialize the OAuth clientID on add
Diffstat (limited to 'internal/server')
| -rw-r--r-- | internal/server/custom/custom.go | 4 | ||||
| -rw-r--r-- | internal/server/institute/institute.go | 3 | ||||
| -rw-r--r-- | internal/server/list.go | 11 | ||||
| -rw-r--r-- | internal/server/secure/secure.go | 3 |
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 } |
