Get retrieves user data associated with a refresh token
(ctx context.Context, token string)
| 51 | |
| 52 | // Get retrieves user data associated with a refresh token |
| 53 | func (s *InMemoryRefreshTokenStore) Get(ctx context.Context, token string) (any, error) { |
| 54 | if token == "" { |
| 55 | return nil, ErrRefreshTokenNotFound |
| 56 | } |
| 57 | |
| 58 | s.mu.RLock() |
| 59 | data, exists := s.tokens[token] |
| 60 | s.mu.RUnlock() |
| 61 | |
| 62 | if !exists { |
| 63 | return nil, core.ErrRefreshTokenNotFound |
| 64 | } |
| 65 | |
| 66 | if data.IsExpired() { |
| 67 | // Clean up expired token |
| 68 | s.mu.Lock() |
| 69 | delete(s.tokens, token) |
| 70 | s.mu.Unlock() |
| 71 | return nil, core.ErrRefreshTokenNotFound |
| 72 | } |
| 73 | |
| 74 | return data.UserData, nil |
| 75 | } |
| 76 | |
| 77 | // Delete removes a refresh token from storage |
| 78 | func (s *InMemoryRefreshTokenStore) Delete(ctx context.Context, token string) error { |