epds-login

Enable passwordless AT Protocol login against ePDS using OAuth with PAR/DPoP flows.

8|4|Updated Feb 20, 2026
One-click install
npx skills add https://github.com/hypercerts-org/ePDS --skill epds-login
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: epds-login
Source: https://github.com/hypercerts-org/ePDS/tree/main/.agents/skills/epds-login
Command: npx skills add https://github.com/hypercerts-org/ePDS --skill epds-login

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Enable passwordless login against an ePDS instance using AT Protocol OAuth, handling PKCE, DPoP, and token exchanges to provision a user identity without passwords across Flow 1 and Flow 2.

Core Features & Use Cases

  • Two flows supported: Flow 1 uses hand-rolled PAR/DPoP with an email login_hint, Flow 2 uses @atproto/oauth-client-node to automate PAR/DPoP and handle inputs like no identifier, a handle, or a DID.
  • Reference implementation guidance is available in the ePDS repository (packages/demo) showing client metadata, flow integration, and interaction with AT Protocol PDS.
  • Handles OTP-based sign-in, optional handle/DID-based identity resolution, and integration with the ePDS auth service for passwordless authentication.
  • Includes security patterns for DPoP nonce retries, PKCE, and secure session handling to support production-grade login flows.

Quick Start

Install and wire the epds-login skill in your app to enable passwordless AT Protocol login against your ePDS instance using the two supported flows.

Frequently Asked Questions about epds-login

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement passwordless login for an AT Protocol app using OAuth?

Passwordless AT Protocol login is enabled through OAuth with PAR and DPoP flows, handling PKCE, DPoP nonce retries, and token exchanges to provision user identities without passwords across Flow 1 and Flow 2.

What is the difference between Flow 1 and Flow 2 for AT Protocol OAuth authentication?

Flow 1 uses hand-rolled PAR and DPoP with an email login_hint for OTP-based sign-in, while Flow 2 uses the NodeOAuthClient to automate PAR/DPoP and handle inputs like no identifier, a handle, or a DID.

Can I use an email OTP or handle to authenticate users against an ePDS instance?

Yes, OTP-based sign-in is supported via Flow 1 using an email login_hint, and Flow 2 supports optional handle or DID-based identity resolution integrated with the ePDS auth service.

How do I configure client metadata for AT Protocol OAuth with PKCE and DPoP?

Client metadata configuration is required for flow selection, with reference implementation guidance available in the ePDS repository demonstrating integration with the AT Protocol PDS using NodeOAuthClient or hand-rolled approaches.

What security patterns are needed for production-grade OAuth token exchanges in AT Protocol apps?

Production-grade login flows require security patterns for DPoP nonce retries, PKCE, and secure session handling to support passwordless authentication and safe token exchanges.