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
| Metodo | Comportamento |
|---|---|
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
AuthStrategyFactory—createNoAuthStrategy()JwtAuthStrategy
JwtAuthStrategy
Strategia di autenticazione JWT Bearer. Token in sessionStorage di default, storage custom pluggable via interfaccia JwtTokenStorage.
Cache
Sistema di caching multi-strategia con TTL, background refresh e request deduplication. Strategie IndexedDB, LocalStorage, SessionStorage, Memory e NoCache con auto-fallback.