authentication-patterns
OAuth 2.0, JWT, SSO, MFA, NextAuth/Clerk/Supabase Auth implementation patterns
Skill by travisjneuman
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/travisjneuman-authentication-patterns
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/authentication-patterns
What's inside
- Skill name
authentication-patterns- Description
- OAuth 2.0, JWT, SSO, MFA, NextAuth/Clerk/Supabase Auth implementation patterns
- License
- MIT
- Instructions
- 518 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- body: 518 lines (spec recommends under 500)
Files (1)
- SKILL.md
SKILL.md (first lines)
# Authentication Patterns
## Overview
This skill covers authentication and authorization implementation across web and mobile applications. It addresses OAuth 2.0 flows (Authorization Code with PKCE, Client Credentials), JWT management (access tokens, refresh tokens, rotation), session management strategies, multi-factor authentication (TOTP, WebAuthn/passkeys), integration with auth libraries (NextAuth/Auth.js v5, Clerk, Supabase Auth, Lucia), SSO protocols (SAML, OIDC), and authorization patterns (RBAC, ABAC).
Use this skill when building login/signup flows, integrating social login providers, implementing MFA, setting up SSO for enterprise customers, designing authorization models, or migrating between auth providers.
---
## Core Principles
1. **Never roll your own crypto** - Use established libraries for password hashing (bcrypt, argon2), JWT signing, and OAuth flows. Custom auth code is the #1 source of security vulnerabilities in web applications.
2. **Defense in depth** - Authentication is not a single check. Layer session validation, CSRF protection, rate limiting, and anomaly detection. Assume every layer can be bypassed individually.
3. **Tokens are credentials** - Access tokens, refresh tokens, and session cookies must be stored securely (httpOnly cookies, encrypted storage), transmitted over HTTPS only, and rotated regularly.
4. **Least privilege by default** - Users and API clients should start with minimal permissions. Elevate access through explicit role assignment, never through implicit trust.
5. **Plan for account recovery** - Password reset, MFA recovery codes, email verification, and account lockout all need designed flows. These are more complex than the happy-path login.
---
## Key Patterns
### Pattern 1: NextAuth (Auth.js v5) with OAuth and Database Sessions
**When to use:** Next.js applications needing social login, email/password, or magic link authentication with server-side session management.
**Implementation:**
```typescript
// auth.ts - Auth.js v5 configuration
import NextAuth from "next-auth";
import GitHub from "next-auth/providers/github";
import Google from "next-auth/providers/google";
import Credentials from "next-auth/providers/credentials";
import { PrismaAdapter } from "@auth/prisma-adapter";
import { prisma } from "@/lib/prisma";
import { verifyPassword } from "@/lib/password";
export const { handlers, auth, signIn, signOut } = NextAuth({
adapter: PrismaAdapter(prisma),
providers: [
GitHub({
clientId: process.env.GITHUB_ID!,
clientSecret: process.env.GITHUB_SECRET!,
}),
Google({
clientId: process.env.GOOGLE_ID!,
clientSecret: process.env.GOOGLE_SECRET!,
}),
Credentials({
credentials: {
email: { label: "Email", type: "email" },
password: { label: "Password", type: "password" },
},
async authorize(credentials) {
if (!credentials?.email || !credentials?.password) return null;
const user = await prisma.user.findUnique({
where: { email: credentials.email as string },
});
if (!user?.passwordHash) return null;
const valid = await verifyPassword(
credentials.password as string,
user.passwordHash
);
if (!valid) return null;
return { id: user.id, email: user.email, name: user.name };
},
}),
],
session: {
strategy: "database", // Server-side sessions (not JWT)
maxAge: 30 * 24 * 60 * 60, // 30 days
updateAge: 24 * 60 * 60, // Refresh session every 24 hours
},
callbacks: {
async session({ session, user }) {
// Add user role to session
session.user.id = user.id;
session.user.role = user.role;
return session;
},
async signIn({ user, account }) {
// Block sign-in for disabled accounts
if (user.id) {
const dbUser = await prisma.user.findUnique({
where: { id: user.id },
});
if (dbUser?.disabled) return false;
}
return true;
},
},
pages: {
signIn: "/login",
error: "/auth/error",
verifyRequest: "/auth/verify",
},
});
```
```typescript
// app/api/auth/[...nextauth]/route.ts
import { handlers } from "@/auth";
export const { GET, POST } = handlers;
```
```typescript
// Middleware for route protection
// middleware.ts
import { auth } from "@/auth";
import { NextResponse } from "next/server";
export default auth((req) => {
const isLoggedIn = !!req.auth;From travisjneuman/.claude, MIT.
More from travisjneuman/.claude
- 0.638score
risk-management
travisjneuman
Enterprise risk management expertise for ERM frameworks, risk assessment, business continuity, insurance strategy, third-party risk, and reputational risk.
SkillAFreshness: A★ 106Claude Code +9 - 0.638score
operations
travisjneuman
Operations excellence expertise for supply chain optimization, process improvement (Lean, Six Sigma), capacity planning, vendor management, quality assurance…
SkillAFreshness: A★ 106Claude Code +9 - 0.638score
codebase-documenter
travisjneuman
Write codebase documentation: READMEs, architecture docs, getting-started guides, API docs, and code comments.
SkillAFreshness: A★ 106Claude Code +9 - 0.638score
health-wellness
travisjneuman
Workplace health and wellness expertise for employee wellness programs, mental health initiatives, ergonomics and safety, healthcare benefits strategy, and…
SkillAFreshness: A★ 106Claude Code +9 - 0.638score
leadership
travisjneuman
Executive leadership expertise for decision-making, change management, crisis management, stakeholder management, team building, and organizational leadership.
SkillAFreshness: A★ 106Claude Code +9 - 0.638score
legal-compliance
travisjneuman
Legal and compliance expertise for corporate governance, contract analysis, regulatory compliance (SOX, GDPR, HIPAA), risk assessment, intellectual property…
SkillAFreshness: A★ 106Claude Code +9 - 0.638score
rd-management
travisjneuman
R&D management expertise for R&D portfolio management, technology roadmapping, research methodology, patent strategy, lab management, academic partnerships…
SkillAFreshness: A★ 106Claude Code +9 - 0.638score
business-strategy
travisjneuman
Business strategy expertise for strategic planning, competitive analysis, market entry, M&A strategy, portfolio management, and strategic decision-making.
SkillAFreshness: A★ 106Claude Code +9 - 0.638score
finance
travisjneuman
Financial analysis expertise for financial modeling (DCF, LBO, M&A), valuation, financial statement analysis, capital allocation, treasury management, and…
SkillAFreshness: A★ 106Claude Code +9 - 0.638score
data-science
travisjneuman
Data science and analytics expertise for statistical analysis, machine learning pipelines, data governance, business intelligence, predictive modeling, and…
SkillAFreshness: A★ 106Claude Code +9 - 0.638score
hr-talent
travisjneuman
HR and talent management expertise for talent acquisition, performance management, compensation strategy, organizational design, culture building, succession…
SkillAFreshness: A★ 106Claude Code +9 - 0.638score
sales
travisjneuman
Sales strategy expertise for sales methodologies (MEDDIC, SPIN, Challenger), sales forecasting, account management, pipeline management, sales enablement, and…
SkillAFreshness: A★ 106Claude Code +9
Signals
- Stars
- 106
- Forks
- 26
- Open issues
- 2
- Last commit (this folder)
- Feb 28, 2026 (8 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/travisjneuman/.claude
- Website
- claude.travisjneuman.com
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from travisjneuman
- 0.638score
business-strategy
travisjneuman
Business strategy expertise for strategic planning, competitive analysis, market entry, M&A strategy, portfolio management, and strategic decision-making.
SkillAFreshness: A★ 106Claude Code +9 - 0.638score
finance
travisjneuman
Financial analysis expertise for financial modeling (DCF, LBO, M&A), valuation, financial statement analysis, capital allocation, treasury management, and…
SkillAFreshness: A★ 106Claude Code +9 - 0.638score
data-science
travisjneuman
Data science and analytics expertise for statistical analysis, machine learning pipelines, data governance, business intelligence, predictive modeling, and…
SkillAFreshness: A★ 106Claude Code +9 - 0.638score
rd-management
travisjneuman
R&D management expertise for R&D portfolio management, technology roadmapping, research methodology, patent strategy, lab management, academic partnerships…
SkillAFreshness: A★ 106Claude Code +9 - 0.638score
codebase-documenter
travisjneuman
Write codebase documentation: READMEs, architecture docs, getting-started guides, API docs, and code comments.
SkillAFreshness: A★ 106Claude Code +9 - 0.638score
health-wellness
travisjneuman
Workplace health and wellness expertise for employee wellness programs, mental health initiatives, ergonomics and safety, healthcare benefits strategy, and…
SkillAFreshness: A★ 106Claude Code +9
Cite this page
authentication-patterns skill. Agent Mart. https://agentmart.dev/skills/travisjneuman-authentication-patterns (last updated 2026-10-24)