Auth

NoAuthStrategy

Strategia no-op per endpoint pubblici. Nessun header di autenticazione applicato.

Cosa fa

NoAuthStrategy e un'implementazione no-op di IAuthStrategy: applyAuth(config) restituisce la configurazione invariata, senza aggiungere alcun header o cookie.

E utile per gestire client HTTP dedicati a endpoint pubblici senza dover differenziare il codice chiamante.

Quando usarla

  • Endpoint pubblici/health, /api/public/*, /api/products (catalogo non autenticato)
  • Testing senza autenticazione — bypass auth in test E2E
  • Sviluppo locale quando il backend e configurato per accettare richieste senza auth
  • Mock client — durante refactoring o quando il backend non e ancora pronto

Costruttore

class NoAuthStrategy implements IAuthStrategy {
  constructor()
}

Nessun parametro.

Comportamento

MetodoComportamento
applyAuth(config)Ritorna config invariata
isAuthenticated()Sempre false
saveCredentials()No-op
clearCredentials()No-op
getToken()Sempre null
getRefreshToken()Sempre null
supportsRefresh()Sempre false

Esempio

import {
  AuthStrategyFactory,
  HttpClientFactory,
} from '@pzeta/postgrest'

// Client dedicato ad API pubbliche
const publicClient = HttpClientFactory.createFetchClient({
  baseURL: '/api/public',
})
publicClient.setAuthStrategy(AuthStrategyFactory.createNoAuthStrategy())

const products = await publicClient.get('/products')
// Nessun header Authorization

Pattern: due client paralleli

// Client autenticato per area privata
const privateClient = HttpClientFactory.createFetchClient()
privateClient.setAuthStrategy(AuthStrategyFactory.createJwtStrategy())

// Client pubblico per catalogo
const publicClient = HttpClientFactory.createFetchClient()
publicClient.setAuthStrategy(AuthStrategyFactory.createNoAuthStrategy())

Vedi anche