A simple and easy-to-use OIDC provider that allows users to authenticate with their passkeys to your services. https://pocket-id.org
  • Go 58.8%
  • Svelte 23.8%
  • TypeScript 12.3%
  • PLpgSQL 3%
  • Go Template 0.9%
  • Other 1%
Find a file
Adam Ayala fea892f5db
All checks were successful
build-and-push / build (push) Successful in 28s
fix name of token to existing user based action secret
2026-07-02 14:01:01 -05:00
.devcontainer chore(deps): upgrade to node 24 and go 1.26.0 (#1328) 2026-02-23 19:50:44 +01:00
.forgejo/workflows fix name of token to existing user based action secret 2026-07-02 14:01:01 -05:00
.github ci/cd: remove static next image tag 2026-06-24 22:29:27 +02:00
.vscode chore: use goreleaser for binaries and static image builds (#1478) 2026-06-24 21:49:27 +02:00
backend feat: add ability to skip consent for client 2026-06-26 23:35:26 +02:00
docker chore: use goreleaser for binaries and static image builds (#1478) 2026-06-24 21:49:27 +02:00
email-templates chore(deps): Bump the "all-dependencies" group with 2 updates across multiple ecosystems (#1528) 2026-06-20 09:58:24 -05:00
frontend feat: add ability to skip consent for client 2026-06-26 23:35:26 +02:00
scripts chore: add support for Docker Hub 2026-06-24 22:00:49 +02:00
tests feat: add ability to skip consent for client 2026-06-26 23:35:26 +02:00
.dockerignore chore: switch from npm to pnpm (#786) 2025-08-10 12:16:30 -05:00
.env.example docs: add ENCRYPTION_KEY to .env.example for breaking change preparation 2025-11-30 13:14:15 +01:00
.gitignore chore: use goreleaser for binaries and static image builds (#1478) 2026-06-24 21:49:27 +02:00
.goreleaser.yaml ci/cd: don't tag next image with current version 2026-06-26 13:50:52 +02:00
.version release: 2.9.0 2026-06-16 12:28:24 +02:00
AGENTS.md chore: add AGENTS.md 2026-06-23 09:09:34 +02:00
CHANGELOG.md release: 2.9.0 2026-06-16 12:28:24 +02:00
cliff.toml chore(release notes): fix whitespace after commit message 2025-09-20 22:54:55 +02:00
CONTRIBUTING.md docs: add AI Usage Policy to CONTRIBUTING.md 2026-05-31 20:55:05 +02:00
crowdin.yml Update Crowdin configuration file 2025-06-02 14:17:21 +02:00
depot.json chore: change Depot project 2026-06-25 22:41:40 +02:00
docker-compose.yml chore: add support for Docker Hub 2026-06-24 22:00:49 +02:00
LICENSE initial commit 2024-08-12 11:24:22 +02:00
package.json chore(deps): upgrade to vite 8.0 and pnpm 10.33.0 (#1446) 2026-04-21 15:21:08 -05:00
pnpm-lock.yaml chore(deps): update vulnerable dependencies 2026-06-22 22:37:51 +02:00
pnpm-workspace.yaml chore(deps): update vulnerable dependencies 2026-06-22 22:37:51 +02:00
README.md feat: minor redesign of auth pages 2025-12-22 21:36:23 +01:00
SECURITY.md docs: fix link to watchtower repo (#1500) 2026-06-01 11:42:00 +02:00


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 dont need a password. Some people might not like this idea at first, but I believe passkeys are the future, and once you try them, youll 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.