diff options
| author | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-11-28 13:28:27 +0100 |
|---|---|---|
| committer | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-11-28 13:50:02 +0100 |
| commit | 279c0de75629de5868c3ac1b3272a2850e6b62f7 (patch) | |
| tree | b01b764baca799fe952f01a25f1cf5e05ced8333 /internal/server/common.go | |
| parent | 7bab6c76599fdfd34ea9bb064d871ed2be01d4c8 (diff) | |
OAuth: Refactor Token getting and do not save them in the config
This commit refactors getting the tokens into receiver methods. This
means that functions do not have to call the cryptic "EnsureTokens"
method. The receiver getter then already verifier whether or not the
tokens could be obtained (and refreshes too). The downside is that
some things are now private, so testing for invalid tokens needs to be
done somewhere else.
This needs another patch such that clients can save the tokens
themselves using a keyring.
Diffstat (limited to 'internal/server/common.go')
| -rw-r--r-- | internal/server/common.go | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/internal/server/common.go b/internal/server/common.go index 351b3af..7f6599a 100644 --- a/internal/server/common.go +++ b/internal/server/common.go @@ -258,28 +258,25 @@ func OAuthExchange(server Server) error { return server.OAuth().Exchange() } -func HeaderToken(server Server) string { - return server.OAuth().Token.Access +func HeaderToken(server Server) (string, error) { + token, tokenErr := server.OAuth().AccessToken() + if tokenErr != nil { + return "", types.NewWrappedError("failed getting server token for HTTP Header", tokenErr) + } + return token, nil } func MarkTokenExpired(server Server) { - server.OAuth().Token.ExpiredTimestamp = time.Now() + server.OAuth().SetTokenExpired() } func MarkTokensForRenew(server Server) { - server.OAuth().Token = oauth.OAuthToken{} -} - -func EnsureTokens(server Server) error { - ensureErr := server.OAuth().EnsureTokens() - if ensureErr != nil { - return types.NewWrappedError("failed ensuring server tokens", ensureErr) - } - return nil + server.OAuth().SetTokenRenew() } func NeedsRelogin(server Server) bool { - return EnsureTokens(server) != nil + _, tokenErr := HeaderToken(server) + return tokenErr != nil } func CancelOAuth(server Server) { |
