mirror of
https://github.com/OpenHands/OpenHands.git
synced 2025-12-26 05:48:36 +08:00
feat: Add sk-oh- prefix to OpenHands Cloud API keys (#12092)
Co-authored-by: openhands <openhands@all-hands.dev>
This commit is contained in:
parent
d90579b398
commit
c2e4172088
@ -17,10 +17,13 @@ from openhands.core.logger import openhands_logger as logger
|
|||||||
class ApiKeyStore:
|
class ApiKeyStore:
|
||||||
session_maker: sessionmaker
|
session_maker: sessionmaker
|
||||||
|
|
||||||
|
API_KEY_PREFIX = 'sk-oh-'
|
||||||
|
|
||||||
def generate_api_key(self, length: int = 32) -> str:
|
def generate_api_key(self, length: int = 32) -> str:
|
||||||
"""Generate a random API key."""
|
"""Generate a random API key with the sk-oh- prefix."""
|
||||||
alphabet = string.ascii_letters + string.digits
|
alphabet = string.ascii_letters + string.digits
|
||||||
return ''.join(secrets.choice(alphabet) for _ in range(length))
|
random_part = ''.join(secrets.choice(alphabet) for _ in range(length))
|
||||||
|
return f'{self.API_KEY_PREFIX}{random_part}'
|
||||||
|
|
||||||
def create_api_key(
|
def create_api_key(
|
||||||
self, user_id: str, name: str | None = None, expires_at: datetime | None = None
|
self, user_id: str, name: str | None = None, expires_at: datetime | None = None
|
||||||
|
|||||||
@ -25,10 +25,12 @@ def api_key_store(mock_session_maker):
|
|||||||
|
|
||||||
|
|
||||||
def test_generate_api_key(api_key_store):
|
def test_generate_api_key(api_key_store):
|
||||||
"""Test that generate_api_key returns a string of the expected length."""
|
"""Test that generate_api_key returns a string with sk-oh- prefix and expected length."""
|
||||||
key = api_key_store.generate_api_key(length=32)
|
key = api_key_store.generate_api_key(length=32)
|
||||||
assert isinstance(key, str)
|
assert isinstance(key, str)
|
||||||
assert len(key) == 32
|
assert key.startswith('sk-oh-')
|
||||||
|
# Total length should be prefix (6 chars) + random part (32 chars) = 38 chars
|
||||||
|
assert len(key) == len('sk-oh-') + 32
|
||||||
|
|
||||||
|
|
||||||
def test_create_api_key(api_key_store, mock_session):
|
def test_create_api_key(api_key_store, mock_session):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user