API anahtarları
OpenAI ve Anthropic konsolları gibi bir yapay zeka ürününün API anahtarları sayfası. Kapsamlı izinler ve son kullanma tarihiyle anahtar oluşturun, gizli anahtarı bir kez görün ve kopyalama onaylansın, geri alınabilir şekilde iptal edin, yerinde yeniden adlandırın, ek süreyle döndürün ve anahtar başına kullanımı görün.
OpenAI, Anthropic ve Vercel'in hepsi aynı API anahtarları sayfasını sunar: yalnızca sonunu görebildiğiniz anahtarların listesi, yenisini oluşturmak için bir iletişim kutusu ve gizli anahtarı kopyalamak için tek bir fırsat. API keys, bu sayfanın herhangi bir Settings bölümüne eklenebilen tek bir blok halidir. Ters gidebilecek kısımları ele alır: bir iletişim kutusu kapandığı için kaybolan gizli anahtarlar, yanlışlıkla iptal edilen anahtarlar ve bir şey çıktığında zıplayan listeler.
Her satır anahtarın adını, hx_live_…a3F9 gibi maskelenmiş gizli anahtarı, izinlerini, projeyi, ne zaman oluşturulduğunu ve en son ne zaman kullanıldığını ya da Never used bilgisini gösterir. Bir hafta içinde süresi dolacak anahtarlar uyarı rozeti alır, süresi dolanlar bunu belirtir. usage iletirseniz geniş ekranlarda anahtarın yanında günlük isteklerin küçük bir grafiği görünür.
Create key; ad, proje, izinler (tümü, salt okunur ya da işaretlediğiniz kaynaklarla sınırlı) ve 30 gün, 90 gün, süresiz ya da seçtiğiniz bir tarihlik son kullanma tarihi içeren bir iletişim kutusu açar. Ardından aynı iletişim kutusu gösterime dönüşür: tam anahtar tek aralıklı bir kutuda, onay işaretiyle doğrulanan bir Copy düğmesi ve Done çalışmadan önce işaretlenecek bir kutu. Kopyalamadan kapatmayı denerseniz uyarı ve Close anyway düğmesiyle açık kalır. Sekme de kapanmadan önce sorar.
İptal etmeden önce anahtarı adıyla anarak sorar. Ardından satır daralarak kaybolur ve bir toast beş saniye boyunca Undo sunar; onRevoke yalnızca bu süre dolunca çalışır, yani Undo sunucunuzdan hiçbir şey gerektirmez. Sayfadan ayrılmak ya da başka bir anahtar oluşturmak bekleyen iptalleri hemen gönderir. Rotate key yeni bir gizli anahtar yerleştirir ve eskisini bir saat, bir gün ya da bir hafta çalışır halde tutabilir. F2 veya çift tıklamayla yerinde yeniden adlandırın, kaydetmek için Enter, vazgeçmek için Escape.
Pro registry'yi components.json dosyasına ekleyin
components.json Token'ınızı ekleyin
Hesap sayfanızda bir token oluşturun ve
.env.localdosyasınaHEXTAUI_PRO_TOKENolarak ekleyin.Bloğu ekleyin
pnpm dlx shadcn@latest add @hextaui-pro/api-keys
API'nize bağlayın
ApiKeySettings ilettiğiniz anahtarları gösterir ve oluşturma, iptal etme ve yeniden adlandırma için sizi çağırır. Herhangi bir callback'ten hata fırlatın; kullanıcı girdisi korunarak nedeni görür. Liste yüklenirken ApiKeySettingsSkeleton gösterin.
Anahtarları sunucunuzda oluşturun
generateApiKey, crypto.getRandomValues kullanır; bu yüzden Node, edge runtime'larında ve Workers'ta çalışır. Bir hash ile son dört karakteri saklayın ve gizli anahtarı yalnızca bir kez geri gönderin.
Döndürme, kendi kapsamlarınız ve geri alma olmadan
Eski gizli anahtar için ek süreli Rotate key eklemek üzere onRotate iletin. Onaylandığı anda iptal etmek için undoTimeout değerini 0 yapın; API'nize uymak için resources, prefix ve snippet iletin.
Yapı
Dıştan içe doğru birleştirdiğiniz parçalar.
| Parça | Açıklama |
|---|---|
ApiKeySettings | Liste, Create key içeren başlığı, limit notu, boş durum ve tüm iletişim kutuları. |
ApiKeySettingsSkeleton | SettingsSection'ın skeleton prop'u için listenin şeklini alan bir yükleme yer tutucusu. |
generateApiKey | crypto.getRandomValues ile ön ekli rastgele bir anahtar üretir. |
keyHint | Maskelenmiş anahtar olarak saklanıp gösterilecek, gizli anahtarın son karakterleri. |
ApiKeySettings
Ayrıca her div prop'unu kabul eder.
| Prop | Tür | Varsayılan |
|---|---|---|
keys{ id, name, hint, permission, resources?, project?, createdAt, lastUsedAt?, expiresAt?, usage? }. Tarihler bir Date, ISO dizesi ya da zaman damgası alır. usage günlük isteklerdir, en eskiden başlar. | ApiKey[] | – |
onCreateAnahtarı oluşturun ve bir kez gösterilen gizli anahtarıyla birlikte döndürün. Mesajı iletişim kutusunda göstermek için hata fırlatın. | (input: ApiKeyInput) => Promise<{ key, secret }> | – |
onRevokeAnahtarı iptal eder. Geri alma süresinden sonra çalışır. Hata fırlatırsanız anahtar Try again ile geri gelir. | (key) => void | Promise<void> | – |
onRenameRename, F2 ve çift tıklamayı ekler. Yeni ad hemen görünür ve bu hata fırlatırsa geri alınır. | (key, name) => void | Promise<void> | – |
onRotateRotate key ekler. expireOldIn, eski gizli anahtarın kaç saat daha çalışmaya devam edeceğidir; hemen kapatmak için 0. | (key, { expireOldIn }) => Promise<{ key, secret }> | – |
limitİzin verilen en fazla anahtar sayısı. Limitte Create key devre dışı kalır ve not nedenini söyler. | number | – |
resourcesKısıtlı bir anahtarın kullanmasına izin verilebilecek kaynaklar. Varsayılan olarak models, responses, embeddings, files, agents ve usage. | { value, label, description? }[] | – |
projectsOluşturma iletişim kutusuna bir Project seçici ekler ve projeyi her anahtarda gösterir. | { value, label }[] | – |
prefixMaskelenmiş anahtarlarda ipucunun önünde gösterilir; anahtarın kendi ön eki varsa o kullanılır. | string | "hx_live_" |
snippetBoş durumda gösterilen komut, bir Copy düğmesiyle. | string | – |
undoTimeoutİptalden sonra Undo'nun ms cinsinden ne kadar süre sunulacağı. 0, onaylanır onaylanmaz iptal eder. | number | 5000 |
expiringSoonBir anahtarın uyarı rozeti alacağı, son kullanmadan önceki gün sayısı. | number | 7 |
nowGöreli tarihler için kullanılan zamanı sabitler; testler ve ekran görüntüleri için. | Date | – |
| Prop | Tür | Varsayılan |
|---|---|---|
rowsKaç yer tutucu anahtar gösterileceği. | number | 3 |
generateApiKey
Ön ek artı rastgele harf ve rakamlar döndürür.
| Prop | Tür | Varsayılan |
|---|---|---|
prefixAnahtarın başına eklenir. | string | "hx_live_" |
lengthÖn ekten sonraki rastgele karakterler, 8 ile 256 arasında. | number | 40 |
| Tuş | Action |
|---|---|
| F2 | Satırı odakta olan anahtarı yeniden adlandırır. |
| Enter | Yeniden adlandırırken adı kaydeder. Oluşturma iletişim kutusunda anahtarı oluşturur. |
| Escape | Yeniden adlandırırken eski adı korur. Gösterimde, anahtar kopyalanmadıysa bir kez uyarır. |
| Tab | Her anahtarın eylemleri arasında, ardından iletişim kutusu alanları ve düğmeleri arasında gezinir. |
- Bir anahtar oluşturulduğunda odak Copy'ye geçer ve bir durum mesajı, tekrar gösterilmeyeceği için hemen kopyalanmasını söyler.
- Onaylar anahtarı ve maskelenmiş gizli anahtarını adıyla anar, odak Cancel üzerinde başlar.
- İptal sonrası odak sonraki anahtara, yoksa öncekine ya da Create key'e geçer. Undo sonrası geri yüklenen anahtara döner. Yeniden adlandırma sonrası anahtarın eylemlerine döner.
- Kısıtlı rozetleri kaynaklarını adlandırır, kullanım grafiği toplam olarak okunur, yeniden adlandırmalar ve geri yüklemeler duyurulur.
- Azaltılmış harekette satırlar daralmadan belirir ve kaybolur.
Şunlarla geliştirildi
API keys bloğunun yapıldığı ücretsiz HextaUI bileşenleri. Her biri tek başına yüklenir.
Kod
4 dosya, components/blocks/api-keys konumuna eklendi.