{"id":28283734,"url":"https://github.com/golf-mcp/authed-identity","last_synced_at":"2026-02-25T15:15:38.128Z","repository":{"id":285960803,"uuid":"959904108","full_name":"golf-mcp/authed-identity","owner":"golf-mcp","description":"Open-source authentication protocol for agentic interactions. Let agents collaborate with Authed","archived":false,"fork":false,"pushed_at":"2025-04-07T19:26:25.000Z","size":476,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-17T09:42:42.722Z","etag":null,"topics":["agentic-framework","agentic-infrastructure","agents","ai","authentication","authorization","identity","ids","oauth","oauth2","python","requests"],"latest_commit_sha":null,"homepage":"https://getauthed.dev","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/golf-mcp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-03T14:38:01.000Z","updated_at":"2025-05-28T13:52:57.000Z","dependencies_parsed_at":"2025-04-03T15:43:14.650Z","dependency_job_id":"415d30ad-0b16-49be-b7c3-50955d28c7f7","html_url":"https://github.com/golf-mcp/authed-identity","commit_stats":null,"previous_names":["authed-dev/authed-identity","golf-mcp/authed-identity"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/golf-mcp/authed-identity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golf-mcp%2Fauthed-identity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golf-mcp%2Fauthed-identity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golf-mcp%2Fauthed-identity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golf-mcp%2Fauthed-identity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/golf-mcp","download_url":"https://codeload.github.com/golf-mcp/authed-identity/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golf-mcp%2Fauthed-identity/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266603959,"owners_count":23954721,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic-framework","agentic-infrastructure","agents","ai","authentication","authorization","identity","ids","oauth","oauth2","python","requests"],"created_at":"2025-05-21T16:49:15.573Z","updated_at":"2026-02-25T15:15:33.091Z","avatar_url":"https://github.com/golf-mcp.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Authed Identity\n\n**Identity and authentication for AI Agents**\n\n[![license MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![PRs welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/authed-dev/authed/pulls)\n[![support](https://img.shields.io/badge/support-contact%20author-purple.svg)](https://github.com/authed-dev/authed/issues)\n[![PyPI Downloads](https://img.shields.io/pypi/dm/authed)](https://pypi.org/project/authed/)\n\nAuthed | [Docs](https://docs.getauthed.dev)\n\n\u003e **Note**: Authed Identity was moved from the old [Authed](https://github.com/authed-dev/authed) repository, Authed 2.0 coming soon!\n\u003c/div\u003e\n\n## Overview\n\nAuthed is an identity and authentication system built specifically for AI agents. As AI agents become active participants on the internet, they need secure, scalable ways to identify themselves and authenticate with each other across different systems and organizations.\n\nTraditional authentication methods like OAuth and API keys were designed for human users and applications, forcing agents to rely on static credentials that don't scale with the dynamic nature of AI interactions. Authed solves this problem by giving agents their own identity.\n\nAuthed is a developer-first, open-source protocol that:\n\n- Provides unique identities for AI agents\n- Enables secure agent-to-agent authentication across different ecosystems\n- Eliminates the need for static credentials\n- Removes human bottlenecks from authentication workflows\n- Dynamically enforces access policies between trusted entities\n\n## Quick start\n\nGet up and running with Authed in two simple steps:\n\n### 1. Install the SDK\n```bash\npip install authed\n```\n\n### 2. Initialize Your First Agent\nFor development (limited to 3 agents):\n```bash\nauthed init setup\n```\n\nThis command will:\n- Create a new unclaimed provider\n- Set up a default agent\n- Generate a secure key pair in PEM format\n- Create `.env` with all required configuration\n- Add `.env` to `.gitignore`\n\nFor production use:\n1. Visit [getauthed.dev](https://getauthed.dev/) to claim your provider\n2. Initialize with your provider credentials:\n```bash\nauthed init setup --provider-id \"your-provider-id\" --provider-secret \"your-provider-secret\"\n```\n\n## Basic integration\n\nHere's a minimal example using FastAPI:\n\n```python\nfrom fastapi import FastAPI, Request\nfrom authed import Authed, verify_fastapi, protect_httpx\nimport httpx\n\napp = FastAPI()\n\n# Initialize Authed from environment variables (configured by `authed init setup`)\nauth = Authed.from_env()\n\n# Protected endpoint\n@app.post(\"/secure-endpoint\")\n@verify_fastapi\nasync def secure_endpoint(request: Request):\n    return {\"message\": \"Authenticated!\"}\n\n# Making authenticated requests\n@app.get(\"/call-other-agent\")\n@protect_httpx()\nasync def call_other_agent():\n    async with httpx.AsyncClient() as client:\n        response = await client.post(\n            \"http://other-agent/secure-endpoint\",\n            headers={\"target-agent-id\": \"target-agent-uuid\"},\n            json={\"message\": \"Hello!\"}\n        )\n    return response.json()\n```\n\n## Environment setup\n\nConfigure Authed using environment variables:\n\n```\n# Registry and agent configuration\nAUTHED_REGISTRY_URL=\"https://api.getauthed.dev\"\nAUTHED_AGENT_ID=\"your-agent-id\"\nAUTHED_AGENT_SECRET=\"your-agent-secret\"\n\n# Keys for signing and verifying requests\nAUTHED_PRIVATE_KEY=\"your-private-key\"\nAUTHED_PUBLIC_KEY=\"your-public-key\"\n```\n\n## Documentation\nFor more detailed documentation, visit our [official documentation](https://docs.getauthed.dev).\n\n## Integrations\n\nAuthed provides integrations with various external systems and protocols:\n\n### Model Context Protocol (MCP)\n\nAuthed can be used as an authentication layer for the [Model Context Protocol (MCP)](https://modelcontextprotocol.io), enabling secure access to MCP servers and resources. See the [MCP integration documentation](integrations/mcp/README.md) for details.\n\n## Why choose Authed?\n\n#### Designed for agent interactions\n\nAuthed is built specifically for the way AI agents interact - dynamic, distributed, and requiring minimal human intervention.\n\n#### Secure by design\n\nOur protocol uses robust cryptographic signatures and verification mechanisms to ensure agents only interact with trusted entities.\n\n#### Scalable identity\n\nAs your ecosystem of agents grows, Authed scales with you - no need to manage ever-growing lists of API keys or credentials.\n\n## Agent-to-Agent communication\n\nAuthed provides a Channel component for secure, authenticated communication between agents using WebSockets. This enables agents to establish connections, exchange messages, and maintain persistent communication channels with minimal setup.\n\n### Key keatures\n\n- **Secure WebSocket communication**: Establish authenticated WebSocket connections between agents\n- **Message handling**: Register custom handlers for different message types\n- **Connection management**: Automatically manage multiple connections\n- **Authentication integration**: Leverages Authed's core authentication system\n\n### Quick example\n\n```python\n# Initialize Authed\nauth = Authed.from_env()\n\n# Create a channel\nchannel = auth.create_channel()\n\n# Open a channel to another agent\ntarget_channel = await channel.open_channel(\n    target_agent_id=\"target-agent-id\",\n    websocket_url=\"wss://target-agent-domain.com/ws\"\n)\n\n# Send a message\nawait channel.send_message(\n    channel=target_channel,\n    content_type=MessageType.REQUEST,\n    content_data={\"text\": \"Hello from Agent A!\"}\n)\n\n# Receive a response\nresponse = await channel.receive_message(target_channel)\n```\n\nSee the [Channel documentation](https://docs.getauthed.dev/channels) for more details and examples.\n\n## Roadmap\n\nWe are working hard on new features!\n\n- **Self-hosted registries**: Adding support and documentation for self-hosting registries\n- **Registry interoperability**: Expanding registry to make them interoperable, allowing agents to authenticate across registries with the same ID\n- **Instance-based IDs**: Adding support for instance-based identities\n- **Instance binding**: Adding instance binding to agent IDs\n- **OpenID integration**: Adding OpenID identity binding for end users\n- **Enhanced permissions**: Expanding the permission engine to allow more fine-grained permissions\n\n\n\u003cdiv align=\"center\"\u003e\nMade with ❤️ in Warsaw, Poland and SF\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolf-mcp%2Fauthed-identity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgolf-mcp%2Fauthed-identity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolf-mcp%2Fauthed-identity/lists"}