
Tüm pilleri dahil, tamamen eklenti tabanlı bir kimlik doğrulama kütüphanesi. Dört akış. Token depolama, yenileme, çoklu işlem kilidi, anahtar zinciri entegrasyonu. Her şey kullanıma hazır, her şey değiştirilebilir.
npm install cli-authBir strateji seç. Altyapı yanında gelir.
Sunucular, Docker kabukları ve tarayıcı açamayacağınız herhangi bir sistem için ideal seçenek.
1import { createCliAuth, keyringStorage } from 'cli-auth';2import { Entry } from '@napi-rs/keyring';3 4const auth = createCliAuth({5 strategy: 'device-code',6 provider: {7 metadata: {8 deviceAuthorizationEndpoint: 'https://your-tenant.logto.app/oidc/device/auth',9 tokenEndpoint: 'https://your-tenant.logto.app/oidc/token',10 },11 },12 clientId: 'your-cli-client',13 storage: keyringStorage({ entry: new Entry('your-cli', 'tokens') }),14 scope: 'openid offline_access',15});16 17await auth.login({18 onAuthorization: ({ userCode, verificationUri }) => {19 console.log(`Visit ${verificationUri} and enter ${userCode}`);20 },21});22 23const accessToken = await auth.getToken();Aşağıdaki her not gerçek bir hata, yarış durumu veya bizim çoktan çözmüş olduğumuz bir spesifikasyon maddesidir.

Depolama, kilit, fetch ve callback sayfası tamamen kanca fonksiyonlar. Hiçbir şey sabit kodlu değil. Bir yuvaya tıkla ve yapılandırmanın kendini nasıl güncellediğini gör.
depolama1import { createCliAuth } from 'cli-auth';2 3const auth = createCliAuth({4 strategy: 'authorization-code',5 provider: { /* ... */ },6 clientId: 'your-cli-client',7 storage: keyringStorage({ entry: new Entry('your-cli', 'tokens') }),8});Herhangi bir OAuth 2.0 / OIDC-uyumlu sunucu ile çalışır. Kütüphaneyi uç noktalarınıza yönlendirin, başlasın. Bunu sadece Logto için yazmadık.
CLI kimlik doğrulaması, yazmak zorunda kalmadan.