{"repo":"integrated-reasoning/KeyHippo","free":true,"listed":false,"github":"https://github.com/integrated-reasoning/KeyHippo","clone":"git clone https://github.com/integrated-reasoning/KeyHippo.git","description":"Issue API keys for your Supabase app with one line of SQL","language":"PLpgSQL","stars":59,"topics":["api","authentication","postgres","rls","supabase","nix-flake"],"license":"MIT","category":"databases-storage","readme_excerpt":"KeyHippo KeyHippo extends Supabase's Row Level Security (RLS) to support API key authentication and Role-Based Access Control (RBAC) directly in Postgres. Core Functionality KeyHippo enables API key authentication and fine-grained access control in Supabase applications while preserving Row Level Security policies. It handles both session-based and API key authentication using SQL and introduces an RBAC system for managing permissions. Features: - API Key Management: - Secure key issuance and validation - Key rotation and revocation - Automatic key expiration - Claims-based metadata - HTTP notifications for key events - Role-Based Access Control (RBAC): - Hierarchical group-based permissions - Built-in roles (admin, user) - Fine-grained permission management - Default role assignment for new users Quick Start Database Setup 1. Create a new Supabase migration for the KeyHippo extension: 2. Copy the contents of extension/keyhippo--1.2.5.sql into the newly created migration file in the supabase/migrations directory. 3. Apply the migration to install the extension: 4. For projects with existing users: This will: - Create default groups (Admin Group, User Group) - Create default roles (Admin, User) - Set up default permissions - Create a default scope - Assign the User role to existing users (when using initialize existing project) Application Integration KeyHippo integrates with your Supabase application in two main ways: 1. Direct SQL Access : Use KeyHippo functions through your","default_branch":null,"files":null,"tree":[],"storefront":"/r/integrated-reasoning","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/integrated-reasoning/KeyHippo/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}