auth
auth/token.go
Drop RemoveToken, test RevokeToken for refresh tokens. The RemoveToken function was never actually used, and there's no reason to use it. Tokens are revoked, not removed. So I deleted it. And while I was updating the tests, I finally inserted the test for revoking a refresh token, mainly to get rid of that damn TODO.
1.1 --- a/token.go Mon Jan 19 04:24:22 2015 -0500 1.2 +++ b/token.go Mon Jan 19 06:01:51 2015 -0500 1.3 @@ -53,7 +53,6 @@ 1.4 type tokenStore interface { 1.5 getToken(token string, refresh bool) (Token, error) 1.6 saveToken(token Token) error 1.7 - removeToken(token string) error 1.8 revokeToken(token string, refresh bool) error 1.9 getTokensByProfileID(profileID uuid.ID, num, offset int) ([]Token, error) 1.10 } 1.11 @@ -94,30 +93,6 @@ 1.12 return nil 1.13 } 1.14 1.15 -func (m *memstore) removeToken(token string) error { 1.16 - m.tokenLock.Lock() 1.17 - defer m.tokenLock.Unlock() 1.18 - t, ok := m.tokens[token] 1.19 - if !ok { 1.20 - return ErrTokenNotFound 1.21 - } 1.22 - delete(m.tokens, token) 1.23 - if t.RefreshToken != "" { 1.24 - delete(m.refreshTokenLookup, t.RefreshToken) 1.25 - } 1.26 - pos := -1 1.27 - for p, item := range m.profileTokenLookup[t.ProfileID.String()] { 1.28 - if item == token { 1.29 - pos = p 1.30 - break 1.31 - } 1.32 - } 1.33 - if pos >= 0 { 1.34 - m.profileTokenLookup[t.ProfileID.String()] = append(m.profileTokenLookup[t.ProfileID.String()][:pos], m.profileTokenLookup[t.ProfileID.String()][pos+1:]...) 1.35 - } 1.36 - return nil 1.37 -} 1.38 - 1.39 func (m *memstore) revokeToken(token string, refresh bool) error { 1.40 if refresh { 1.41 t, err := m.lookupTokenByRefresh(token)