summaryrefslogtreecommitdiff
path: root/internal/server/common.go
diff options
context:
space:
mode:
authorjwijenbergh <jeroenwijenbergh@protonmail.com>2022-11-28 13:28:27 +0100
committerjwijenbergh <jeroenwijenbergh@protonmail.com>2022-11-28 13:50:02 +0100
commit279c0de75629de5868c3ac1b3272a2850e6b62f7 (patch)
treeb01b764baca799fe952f01a25f1cf5e05ced8333 /internal/server/common.go
parent7bab6c76599fdfd34ea9bb064d871ed2be01d4c8 (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.go23
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) {