diff options
| author | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2024-07-08 09:18:10 +0200 |
|---|---|---|
| committer | Jeroen Wijenbergh <46386452+jwijenbergh@users.noreply.github.com> | 2024-07-17 14:00:03 +0000 |
| commit | dd61cd1f935930850986510675a2c37f0e85ef27 (patch) | |
| tree | c90a058fec98046e802fdd8c1f37b9289118ff77 /internal/server | |
| parent | cb8e2a5ae27aa34f2a9ad21469538403274e3b3e (diff) | |
Client + API: Mark organizations expired *before* processing url
Diffstat (limited to 'internal/server')
| -rw-r--r-- | internal/server/secureinternet.go | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/internal/server/secureinternet.go b/internal/server/secureinternet.go index 0571e5f..f167756 100644 --- a/internal/server/secureinternet.go +++ b/internal/server/secureinternet.go @@ -29,12 +29,19 @@ func (s *Servers) AddSecure(ctx context.Context, disco *discovery.Discovery, org } sd := api.ServerData{ - ID: orgID, + ID: dorg.OrgID, Type: server.TypeSecureInternet, BaseWK: dsrv.BaseURL, BaseAuthWK: dsrv.BaseURL, - ProcessAuth: func(url string) string { - return util.ReplaceWAYF(dsrv.AuthenticationURLTemplate, url, dorg.OrgID) + ProcessAuth: func(ctx context.Context, url string) (string, error) { + disco.Servers(ctx) + disco.Organizations(ctx) + updorg, updsrv, err := disco.SecureHomeArgs(orgID) + if err != nil { + return "", err + } + ret := util.ReplaceWAYF(updsrv.AuthenticationURLTemplate, url, updorg.OrgID) + return ret, nil }, } @@ -96,8 +103,17 @@ func (s *Servers) GetSecure(ctx context.Context, orgID string, disco *discovery. Type: server.TypeSecureInternet, BaseWK: dloc.BaseURL, BaseAuthWK: dhome.BaseURL, - ProcessAuth: func(url string) string { - return util.ReplaceWAYF(dhome.AuthenticationURLTemplate, url, dorg.OrgID) + ProcessAuth: func(ctx context.Context, url string) (string, error) { + disco.MarkServersExpired() + disco.Servers(ctx) + disco.MarkOrganizationsExpired() + disco.Organizations(ctx) + updorg, updsrv, err := disco.SecureHomeArgs(orgID) + if err != nil { + return "", err + } + ret := util.ReplaceWAYF(updsrv.AuthenticationURLTemplate, url, updorg.OrgID) + return ret, nil }, DisableAuthorize: disableAuth, } |
