mcpField
O
oauth-implementation

oauth-implementation

github.com/aj-geddesSecurity374555 installsUpdated 34w ago
Repository

About oauth-implementation

A security development skill for implementing OAuth 2.0 and OpenID Connect authentication. It covers JWT and refresh tokens, session management, and implementation guides for Node.js, Python, and Java.

Key features

  1. 01OAuth 2.0 authentication flows
  2. 02OpenID Connect implementation
  3. 03JWT and refresh token handling
  4. 04Secure session management
  5. 05Node.js, Python, and Java guides

Use cases

  1. 01Building user authentication systems
  2. 02Integrating third-party APIs
  3. 03Implementing single sign-on
  4. 04Securing mobile app authentication

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill oauth-implementation

After installing, type/oauth-implementationin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
java-spring-security-oauth.md
nodejs-oauth-20-server.md
python-openid-connect-implementation.md
scripts/
security-checklist.sh

Details

From the project README

OAuth Implementation

Table of Contents

Overview

Implement industry-standard OAuth 2.0 and OpenID Connect authentication flows with JWT tokens, refresh tokens, and secure session management.

When to Use

  • User authentication systems
  • Third-party API integration
  • Single Sign-On (SSO) implementation
  • Mobile app authentication
  • Microservices security
  • Social login integration

Quick Start

Minimal working example:

// oauth-server.js - Complete OAuth 2.0 implementation
const express = require("express");
const jwt = require("jsonwebtoken");
const crypto = require("crypto");
const bcrypt = require("bcrypt");

class OAuthServer {
  constructor() {
    this.app = express();
    this.clients = new Map();
    this.authorizationCodes = new Map();
    this.refreshTokens = new Map();
    this.accessTokens = new Map();

    // JWT signing keys
    this.privateKey = process.env.JWT_PRIVATE_KEY;
    this.publicKey = process.env.JWT_PUBLIC_KEY;

    this.setupRoutes();
  }

  // Register OAuth client
  registerClient(clientId, clientSecret, redirectUris) {
    this.clients.set(clientId, {
      clientSecret: bcrypt.hashSync(clientSecret, 10),
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
Node.js OAuth 2.0 ServerNode.js OAuth 2.0 Server
Python OpenID Connect ImplementationPython OpenID Connect Implementation
Java Spring Security OAuthJava Spring Security OAuth

Best Practices

✅ DO
  • Use PKCE for public clients
  • Implement token rotation
  • Store tokens securely
  • Use HTTPS everywhere
  • Validate redirect URIs
  • Implement rate limiting
  • Use short-lived access tokens
  • Log authentication events
❌ DON'T
  • Store tokens in localStorage
  • Use implicit flow
  • Skip state parameter
  • Expose client secrets
  • Allow open redirects
  • Use weak signing keys

Comments

Markdown supported