Creating a new auth provider#
User can easily create and integrate Auth Provider for tools.
Creating Token Auth Provider#
Generate boilerplate codes for token-based auth services. It will generate boilerplate code lines for a new token-based auth service.
# service_name should be lowercase including underscore
uv run hyperpocket devtool create-token-auth-template {service_name}
Extend AuthProvider enum to add your new auth provider.
class AuthProvider(Enum):
SERVICE = 'service'
Specify auth provider for tools.
github repo or local
[auth] auth_provider = "{service_name}" auth_handler = "{service_name}-token" scopes = []
function_tool
@function_tool( auth_provider=AuthProvider.SERVICE ) def my_function(**kwargs):
Creating OAuth2 Auth Provider#
Generate boilerplate codes for oauth2-based auth services. It will generate boilerplate code lines for a new oauth2-based auth service.
# service_name should be lowercase including underscore
uv run hyperpocket devtool create-oauth2-auth-template {service_name}
Modify created files into your auth provider requirements.
Files to be considered:
hyperpocket/server/auth/{service_name}.py
hyperpocket/auth/{service_name}/__init__.py
hyperpocket/auth/{service_name}/context.py
hyperpocket/auth/{service_name}/oauth2_context.py
hyperpocket/auth/{service_name}/oauth2_handler.py
hyperpocket/auth/{service_name}/oauth2_schema.py
Extend AuthProvider enum to add your new auth provider.
class AuthProvider(Enum):
SERVICE = 'service'
Specify auth provider for tools.
github repo or local
[auth] auth_provider = "{service_name}" auth_handler = "{service_name}-oauth2" scopes = []
function_tool
@function_tool( auth_provider=AuthProvider.SERVICE ) def my_function(**kwargs): ...