@@ -23,7 +23,7 @@ type Server struct {
2323 mux * http.ServeMux
2424 config * config.Config
2525 oauthServer * oauth.Server
26- tokenStore storage.UserTokenStore
26+ storage storage.Storage
2727 sessionManager * client.StdioSessionManager
2828 sseServers map [string ]* server.SSEServer // serverName -> SSE server for stdio servers
2929}
@@ -143,8 +143,7 @@ func NewServer(ctx context.Context, cfg *config.Config) (*Server, error) {
143143 return nil , fmt .Errorf ("failed to create OAuth server: %w" , err )
144144 }
145145
146- // Use the storage directly as token store
147- s .tokenStore = store
146+ s .storage = store
148147
149148 // Initialize admin users if admin is enabled
150149 if cfg .Proxy .Admin != nil && cfg .Proxy .Admin .Enabled {
@@ -180,7 +179,7 @@ func NewServer(ctx context.Context, cfg *config.Config) (*Server, error) {
180179 mux .Handle ("/register" , chainMiddleware (http .HandlerFunc (s .oauthServer .RegisterHandler ), oauthMiddlewares ... ))
181180
182181 // Protected endpoints - require authentication
183- tokenHandlers := NewTokenHandlers (s .tokenStore , cfg .MCPServers , s .oauthServer != nil )
182+ tokenHandlers := NewTokenHandlers (s .storage , cfg .MCPServers , s .oauthServer != nil )
184183 tokenMiddlewares := []MiddlewareFunc {
185184 corsMiddleware (allowedOrigins ),
186185 loggerMiddleware ("tokens" ),
@@ -280,9 +279,8 @@ func NewServer(ctx context.Context, cfg *config.Config) (*Server, error) {
280279 }
281280 s .sessionManager .RemoveSession (key )
282281
283- // Remove session from storage
284- if store , ok := handler .h .tokenStore .(storage.Storage ); ok {
285- if err := store .RevokeSession (sessionCtx , session .SessionID ()); err != nil {
282+ if handler .h .storage != nil {
283+ if err := handler .h .storage .RevokeSession (sessionCtx , session .SessionID ()); err != nil {
286284 internal .LogWarnWithFields ("server" , "Failed to revoke session from storage" , map [string ]interface {}{
287285 "error" : err .Error (),
288286 "sessionID" : session .SessionID (),
@@ -321,7 +319,7 @@ func NewServer(ctx context.Context, cfg *config.Config) (*Server, error) {
321319 handler := NewMCPHandler (
322320 serverName ,
323321 serverConfig ,
324- s .tokenStore ,
322+ s .storage ,
325323 baseURL .String (),
326324 info ,
327325 s .sessionManager ,
@@ -371,12 +369,12 @@ func NewServer(ctx context.Context, cfg *config.Config) (*Server, error) {
371369 encryptionKey = oauthAuth .EncryptionKey
372370 }
373371
374- adminHandlers := NewAdminHandlers (s .tokenStore .( storage. Storage ) , cfg , s .sessionManager , encryptionKey )
372+ adminHandlers := NewAdminHandlers (s .storage , cfg , s .sessionManager , encryptionKey )
375373 adminMiddlewares := []MiddlewareFunc {
376374 corsMiddleware (allowedOrigins ),
377375 loggerMiddleware ("admin" ),
378- s .oauthServer .SSOMiddleware (), // Browser SSO
379- adminMiddleware (cfg .Proxy .Admin , s .tokenStore .( storage. Storage ) ), // Admin check
376+ s .oauthServer .SSOMiddleware (), // Browser SSO
377+ adminMiddleware (cfg .Proxy .Admin , s .storage ), // Admin check
380378 }
381379
382380 // Admin routes - all protected by admin middleware
@@ -478,7 +476,7 @@ func handleSessionRegistration(
478476 handler .mcpServer ,
479477 handler .userEmail ,
480478 handler .config .RequiresUserToken ,
481- handler .h .tokenStore ,
479+ handler .h .storage ,
482480 handler .h .serverName ,
483481 handler .h .setupBaseURL ,
484482 handler .config .TokenSetup ,
@@ -495,15 +493,15 @@ func handleSessionRegistration(
495493 }
496494
497495 if handler .userEmail != "" {
498- if store , ok := handler .h .tokenStore .( storage. Storage ); ok {
496+ if handler .h .storage != nil {
499497 activeSession := storage.ActiveSession {
500498 SessionID : session .SessionID (),
501499 UserEmail : handler .userEmail ,
502500 ServerName : handler .h .serverName ,
503501 Created : time .Now (),
504502 LastActive : time .Now (),
505503 }
506- if err := store .TrackSession (sessionCtx , activeSession ); err != nil {
504+ if err := handler . h . storage .TrackSession (sessionCtx , activeSession ); err != nil {
507505 internal .LogWarnWithFields ("server" , "Failed to track session" , map [string ]interface {}{
508506 "error" : err .Error (),
509507 "sessionID" : session .SessionID (),
0 commit comments