Class: RubyLLM::MCP::Auth::MemoryStorage

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_llm/mcp/auth/memory_storage.rb

Overview

In-memory storage for OAuth data Stores tokens, client registrations, server metadata, and temporary session data

Instance Method Summary collapse

Constructor Details

#initializeMemoryStorage

Returns a new instance of MemoryStorage.



9
10
11
12
13
14
15
16
17
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 9

def initialize
  @mutex = Mutex.new
  @tokens = {}
  @client_infos = {}
  @server_metadata = {}
  @pkce_data = {}
  @state_data = {}
  @resource_metadata = {}
end

Instance Method Details

#delete_pkce(server_url) ⇒ Object



59
60
61
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 59

def delete_pkce(server_url)
  @mutex.synchronize { @pkce_data.delete(server_url) }
end

#delete_resource_metadata(server_url) ⇒ Object



85
86
87
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 85

def (server_url)
  @mutex.synchronize { @resource_metadata.delete(server_url) }
end

#delete_state(server_url) ⇒ Object



72
73
74
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 72

def delete_state(server_url)
  @mutex.synchronize { @state_data.delete(server_url) }
end

#delete_token(server_url) ⇒ Object



28
29
30
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 28

def delete_token(server_url)
  @mutex.synchronize { @tokens.delete(server_url) }
end

#get_client_info(server_url) ⇒ Object

Client registration storage



33
34
35
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 33

def get_client_info(server_url)
  @mutex.synchronize { @client_infos[server_url] }
end

#get_pkce(server_url) ⇒ Object

PKCE state management (temporary)



51
52
53
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 51

def get_pkce(server_url)
  @mutex.synchronize { @pkce_data[server_url] }
end

#get_resource_metadata(server_url) ⇒ Object

Resource metadata management



77
78
79
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 77

def (server_url)
  @mutex.synchronize { @resource_metadata[server_url] }
end

#get_server_metadata(server_url) ⇒ Object

Server metadata caching



42
43
44
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 42

def (server_url)
  @mutex.synchronize { @server_metadata[server_url] }
end

#get_state(server_url) ⇒ Object

State parameter management (temporary)



64
65
66
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 64

def get_state(server_url)
  @mutex.synchronize { @state_data[server_url] }
end

#get_token(server_url) ⇒ Object

Token storage



20
21
22
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 20

def get_token(server_url)
  @mutex.synchronize { @tokens[server_url] }
end

#set_client_info(server_url, client_info) ⇒ Object



37
38
39
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 37

def set_client_info(server_url, client_info)
  @mutex.synchronize { @client_infos[server_url] = client_info }
end

#set_pkce(server_url, pkce) ⇒ Object



55
56
57
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 55

def set_pkce(server_url, pkce)
  @mutex.synchronize { @pkce_data[server_url] = pkce }
end

#set_resource_metadata(server_url, metadata) ⇒ Object



81
82
83
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 81

def (server_url, )
  @mutex.synchronize { @resource_metadata[server_url] =  }
end

#set_server_metadata(server_url, metadata) ⇒ Object



46
47
48
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 46

def (server_url, )
  @mutex.synchronize { @server_metadata[server_url] =  }
end

#set_state(server_url, state) ⇒ Object



68
69
70
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 68

def set_state(server_url, state)
  @mutex.synchronize { @state_data[server_url] = state }
end

#set_token(server_url, token) ⇒ Object



24
25
26
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 24

def set_token(server_url, token)
  @mutex.synchronize { @tokens[server_url] = token }
end