Przejdź do treści
Biblioteka skilli
Programowanie · Budowanie i kod

oauth-implementation

/oauth-implementation

Wdraża uwierzytelnianie OAuth 2.0 i OpenID Connect z bezpiecznymi przepływami dla integracji zewnętrznych, SSO, dostępu do API przez tokeny, PKCE, odświeżania tokenów i zarządzania zakresami.

Repozytorium
claude-skills ↗
Licencja
MIT
Ostatnia zmiana repozytorium
26.09.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
2
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 26.09.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Wdraża uwierzytelnianie OAuth 2.0 i OpenID Connect z bezpiecznymi przepływami dla integracji zewnętrznych, SSO, dostępu do API przez tokeny, PKCE, odświeżania tokenów i zarządzania zakresami.

Oryginalny opis (EN)

OAuth 2.0 and OpenID Connect authentication with secure flows. Use for third-party integrations, SSO systems, token-based API access, or encountering authorization code flow, PKCE, token refresh, scope management errors.

Jak działa

  1. OAuth 2.0 Flows
  2. Authorization Code Flow (Express)
  3. PKCE for Public Clients
  4. Security Requirements
  5. Additional Implementations
  6. Never Do
Sekcje z nagłówków SKILL.md, w oryginale · 97 linii, 292 słów
Podgląd SKILL.md
---
name: oauth-implementation
description: OAuth 2.0 and OpenID Connect authentication with secure flows. Use for third-party integrations, SSO systems, token-based API access, or encountering authorization code flow, PKCE, token refresh, scope management errors.
license: MIT
---

# OAuth Implementation

Implement OAuth 2.0 and OpenID Connect for secure authentication.

## OAuth 2.0 Flows

| Flow | Use Case |
|------|----------|
| Authorization Code | Web apps (most secure) |
| Authorization Code + PKCE | SPAs, mobile apps |
| Client Credentials | Service-to-service |
| Refresh Token | Session renewal |

## Authorization Code Flow (Express)

```javascript
const express = require('express');
const jwt = require('jsonwebtoken');

// Step 1: Redirect to authorization
app.get('/auth/login', (req, res) => {
  const state = crypto.randomBytes(16).toString('hex');
  req.session.oauthState = state;

  const params = new URLSearchParams({
    client_id: process.env.CLIENT_ID,
    redirect_uri: process.env.REDIRECT_URI,
    response_type: 'code',
    scope: 'openid profile email',
    state
  });

  res.redirect(`${PROVIDER_URL}/authorize?${params}`);
});

// Step 2: Handle callback
app.get('/auth/callback', async (req, res) => {
  if (req.query.state !== req.session.oauthState) {
    return res.status(400).json({ error: 'Invalid state' });
  }

  const tokenResponse = await fetch(`${PROVIDER_URL}/token`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
    body: new URLSearchParams({
      grant_type: 'authorization_code',
      code: req.query.code,
      redirect_uri: process.env.REDIRECT_URI,
      client_id: process.env.CLIENT_ID,
      client_secret: process.env.CLIENT_SECRET
    })
  });

  const tokens = await tokenResponse.json();
  // Store tokens securely and create session
});
```

## PKCE for Public Clients

```javascript
function generatePKCE() {
  const verifier = crypto.randomBytes(32).toString('base64url');
  const challenge = crypto
    .createHash('sha256')
    .update(verifier)
    .digest('base64url');
  return { verifier, challenge };
}
```

## Security Requirements

- Always use HTTPS
- Validate redirect URIs strictly
- Use PKCE for public clients
- Store tokens in HttpOnly cookies
- Implement token rotation
- Use short-lived access tokens (15 min)

## Additional Implementations

See [references/python-java.md](references/python-java.md) for:
- Python Flask with Authlib OIDC provider
- OpenID Connect discovery and JWKS endpoints
- Java Spring Security OAuth2 server
- Token introspection and revocation

## Never Do

- Store tokens in localStorage
- Use implicit flow
- Skip state parameter validation
- Expose client secrets in frontend
- Use long-lived access tokens
Pliki w paczce (2)
  • SKILL.md 3 KB
  • references/python-java.md 7 KB

Wersje

RepozytoriumWynikLicencja
Ta strona · secondsky/claude-skills100MIT
thejefflarson/soundcheck100MIT

Migawka bazy z 28.10.2026 · wersja paczki 8758805661b3 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100oauth2-oidc
    Wspiera wdrażanie OAuth 2.0 i OpenID Connect: przepływy autoryzacji, walidacja tokenów, PKCE dla klientów publicznych, logowanie społecznościowe i bezpieczna obsługa tokenów w SPA, aplikacjach mobilnych i API.
  • 100oauth-flow
    Wdraża OAuth 2.0 i OpenID Connect zgodnie z RFC 9700 i RFC 7636: PKCE, state i nonce, dokładne dopasowanie redirect URI, bezpieczne przechowywanie tokenów, rotacja refresh, walidacja ID tokenów przez JWKS i wylogowanie.
  • 100oauth-2-0-setup
    Wdraża przepływy uwierzytelniania OAuth 2.0: kod autoryzacji z PKCE, client credentials i device code dla bezpiecznej integracji z API.
  • 100oauth2-and-oidc-from-scratch
    Wdraża lub przegląda OAuth 2.0, 2.1 i OpenID Connect od zera: wybór przepływu (PKCE, client credentials, BFF), walidacja ID tokenów, bezpieczne przechowywanie tokenów w przeglądarce i rotacja refresh tokenów.
  • 100volverjs-auth-vue
    Dodaje do aplikacji Vue 3 logowanie OAuth2 i OpenID Connect z @volverjs/auth-vue: PKCE, odświeżanie tokenów i strażników tras.
  • 80role-backend:auth-implementation
    Wdraża logowanie i uprawnienia: JWT, OAuth2, OpenID Connect, RBAC oraz rotację tokenów odświeżających.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.