MCPcopy Index your code
hub / github.com/pocket-id/pocket-id

github.com/pocket-id/pocket-id @v2.9.0

repository ↗ · DeepWiki ↗ · release v2.9.0 ↗ · + Follow
1,617 symbols 5,161 edges 334 files 338 documented · 21%
README

Pocket ID

Pocket ID is a simple OIDC provider that allows users to authenticate with their passkeys to your services.

→ Try out the Demo

The goal of Pocket ID is to be a simple and easy-to-use. There are other self-hosted OIDC providers like Keycloak or ORY Hydra but they are often too complex for simple use cases.

Additionally, what makes Pocket ID special is that it only supports passkey authentication, which means you don’t need a password. Some people might not like this idea at first, but I believe passkeys are the future, and once you try them, you’ll love them. For example, you can now use a physical Yubikey to sign in to all your self-hosted services easily and securely.

Setup

Pocket ID can be set up in multiple ways. The easiest and recommended way is to use Docker.

Visit the documentation for the setup guide and more information.

Contribute

You're very welcome to contribute to Pocket ID! Please follow the contribution guide to get started.

Extension points exported contracts — how you extend this code

AppError (Interface)
(no doc) [66 implementers]
backend/internal/common/errors.go
Error (Interface)
(no doc)
frontend/src/app.d.ts
BaseTemplateProps (Interface)
(no doc)
email-templates/components/base-template.tsx
EmailVerificationData (Interface)
(no doc)
email-templates/emails/email-verification.tsx
Scheduler (Interface)
Scheduler is an interface for registering and managing background jobs. [1 implementers]
backend/internal/service/scheduler.go
SignupToken (Interface)
(no doc)
frontend/src/lib/types/signup-token.type.ts
ButtonProps (Interface)
(no doc)
email-templates/components/button.tsx
EmailVerificationProps (Interface)
(no doc)
email-templates/emails/email-verification.tsx

Core symbols most depended-on inside this repo

Error
called by 240
backend/internal/common/errors.go
String
called by 226
backend/internal/utils/email/composer.go
Run
called by 209
backend/internal/job/scheduler.go
Add
called by 169
backend/internal/middleware/cors.go
Error
called by 109
backend/internal/utils/cache_util.go
get
called by 81
backend/internal/controller/user_group_controller.go
Create
called by 79
backend/internal/service/audit_log_service.go
Close
called by 69
backend/internal/service/ldap_service.go

Shape

Method 680
Function 601
Struct 280
Class 21
Interface 20
TypeAlias 14
FuncType 1

Languages

Go90%
TypeScript10%
Python1%

Modules by API surface

backend/internal/common/errors.go205 symbols
backend/internal/service/oidc_service.go70 symbols
backend/internal/controller/oidc_controller.go35 symbols
backend/internal/service/scim_service.go30 symbols
backend/internal/dto/oidc_dto.go29 symbols
backend/internal/service/jwt_service.go28 symbols
backend/internal/controller/user_controller.go27 symbols
backend/internal/service/ldap_service.go25 symbols
backend/internal/utils/email/composer.go23 symbols
backend/internal/bootstrap/router_bootstrap.go23 symbols
backend/internal/service/user_service.go22 symbols
backend/internal/model/oidc.go21 symbols

Dependencies from manifests, versioned

github.com/Azure/go-ntlmsspv0.1.0 · 1×
github.com/aws/aws-sdk-go-v2v1.42.0 · 1×
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstreamv1.7.13 · 1×
github.com/aws/aws-sdk-go-v2/configv1.32.24 · 1×
github.com/aws/aws-sdk-go-v2/credentialsv1.19.23 · 1×
github.com/aws/aws-sdk-go-v2/feature/ec2/imdsv1.18.29 · 1×
github.com/aws/aws-sdk-go-v2/internal/configsourcesv1.4.29 · 1×
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2v2.7.29 · 1×
github.com/aws/aws-sdk-go-v2/internal/v4av1.4.30 · 1×
github.com/aws/aws-sdk-go-v2/service/internal/accept-encodingv1.13.12 · 1×
github.com/aws/aws-sdk-go-v2/service/internal/checksumv1.9.22 · 1×
github.com/aws/aws-sdk-go-v2/service/internal/presigned-urlv1.13.29 · 1×

Datastores touched

dbDatabase · 1 repos
pocket-idDatabase · 1 repos
testdbDatabase · 1 repos

For agents

$ claude mcp add pocket-id \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact