Przejdź do głównej treści
Długożyciowe poświadczenie to zobowiązanie, które rośnie po cichu: agent zostaje wycofany, demo się kończy, kontraktor odchodzi — ale klucz dalej działa, dopóki ktoś nie przypomni sobie, by go unieważnić. Wygasający klucz api odwraca ten domyślny stan. Ustawiasz datę końca, gdy wybijasz klucz, a OrcaRouter przestaje go autoryzować w chwili, gdy ta data minie — bez zadania sprzątającego do zapomnienia, bez okna wyciekły-ale-wciąż-żywy. Wygaśnięcie to jedno pole na obiekcie tokenu: expired_time. Ta strona to skupiony przewodnik po tej jednej kontroli. Po stronę limitu wydatków na tym samym ekranie, zobacz Kwota, limit i wygaśnięcie.

1. Po co ustawiać wygasający klucz api

Sednem klucza ograniczonego czasowo jest uczynienie bezpiecznego wyniku domyślnym. Kilka przypadków, w których się to opłaca:

Efemeryczne agenty

Zaplanowane zadanie lub krótkożyciowy agent dostaje klucz, który umiera wraz z cyklem życia wdrożenia. Zapomniane zadanie cron nie może wydawać miesiącami później.

Dema i triale

Wręcz potencjalnemu klientowi klucz, który działa przez długość ewaluacji, a potem sam gaśnie — bez potrzeby unieważnienia w follow-upie.

Kontraktorzy i dostawcy

Ogranicz poświadczenie do okna zaangażowania. Gdy kontrakt się kończy, kończy się też klucz.

Dostęp ograniczony do incydentu

Przyznaj wąski, krótkożyciowy klucz podczas incydentu, tak by podwyższony dostęp nie przeżył samego incydentu.
Wygaśnięcie naturalnie łączy się z resztą klucza o minimalnych uprawnieniach — listą dozwolonych modeli, listą dozwolonych IP i limitem wydatków. Każde ogranicza inną oś; razem utrzymują mały promień rażenia skompromitowanego klucza. Zobacz Listę kontrolną minimalnych uprawnień.

2. Pole expired_time

Wygaśnięcie klucza żyje w pojedynczym polu na obiekcie tokenu:
PoleTypZnaczenie
expired_timeUniksowy znacznik czasu (sekundy)Bezwzględny moment, w którym klucz przestaje autoryzować. -1 oznacza nigdy nie wygasa.
Dwie rzeczy do zapamiętania:
  • expired_time jest bezwzględny, nie jest czasem trwania. Ustawiasz moment, w którym klucz umiera, nie „30 dni od teraz” — wybierak daty w konsoli oblicza znacznik czasu za ciebie.
  • Domyślną dla nowego klucza jest -1 (nigdy). Klucz wygasa tylko, jeśli nadasz mu prawdziwy znacznik czasu; pozostawienie pola nietkniętego wybija niewygasający klucz.
Niewygasający klucz (expired_time = -1) to właściwy wybór tylko dla poświadczenia, które aktywnie rotujesz. Jeśli potrafisz nazwać datę, w której klucz powinien przestać działać — a dla agentów, dem i kontraktorów zwykle potrafisz — ustaw ją. Nienadzorowany klucz -1 to ten najbardziej skłonny przeżyć swój cel.

3. Ustaw wygaśnięcie w konsoli

Ustawienie wygaśnięcia to akcja konsolowa na twoim tokenie sesji / dostępu — nie coś, co przekazujesz w wywołaniu relay. Tworzenie lub edycja klucza wymaga roli Developer lub wyższej.
  1. Otwórz Klucze (/console/token) i utwórz nowy klucz lub edytuj istniejący.
  2. W polu wygaśnięcie wybierz datę i czas, w których klucz powinien przestać działać. Pozostaw puste (lub ustaw nigdy), by klucz pozostał trwały.
  3. Zapisz. Zmiana wchodzi w życie natychmiast — bez ponownego wdrożenia, bez zmiany w kodzie agenta.
Edycja wygaśnięcia na istniejącym kluczu jest na żywo: wydłuż klucz, który ma za chwilę wygasnąć, albo przesuń jego wygaśnięcie do przodu, by wycofać go wcześniej, a nowy termin obowiązuje przy następnym żądaniu.
Tylko wywołania relay /v1/* niosą klucz sk-orca-…. Wygaśnięcie, które tu ustawiasz, rządzi tym kluczem relay, ale konfigurujesz je z sesji konsoli, nigdy przez wysyłanie klucza relay na trasę zarządzania.

4. Co robi wygasły klucz

Gdy klucz jest okazany po minięciu jego expired_time, brama odrzuca go na warstwie uwierzytelniania — żądanie nigdy nie dociera do modelu, więc nie kosztuje kwoty. Status klucza przechodzi na Expired, jeden z automatycznych stanów końcowych, jakie klucz może osiągnąć:
StatusJak osiągany
EnabledAktywny; żądania są autoryzowane.
DisabledWstrzymałeś go; odwracalny.
ExpiredPo swoim expired_time — osiągany automatycznie.
ExhaustedPonad swoim limitem kwoty / wydatków — osiągany automatycznie.
Expired jest terminalny w tym sensie, że klucz nie będzie autoryzował znów sam z siebie. Jeśli potrzebujesz go z powrotem, edytuj klucz, by przesunąć expired_time w przyszłość (Developer+), a wraca do Enabled przy następnym żądaniu — klucz, jego limity i jego załączniki polityk są wszystkie zachowane. By wycofać klucz na dobre zamiast tego, unieważnij go.
Wygaśnięcie vs wyłączenie vs unieważnienie. Wygaśnięcie to zaplanowany przełącznik wyłączający — decydujesz termin z góry i odchodzisz. Wyłączenie to ręczna, odwracalna pauza na incydent. Unieważnienie (usunięcie) jest trwałe. Sięgaj po wygaśnięcie zawsze, gdy już wiesz, kiedy poświadczenie powinno przestać mieć znaczenie.

5. Przepracowany przykład: dwutygodniowy klucz demo

Załóżmy, że dajesz potencjalnemu klientowi klucz na 14-dniową ewaluację. Chcesz, by wywoływał jeden tani model, wydawał nie więcej niż ustalony budżet i gasł, gdy trial się kończy — wszystko bez przypomnienia w kalendarzu, by go unieważnić. W oknie Nowy klucz ustaw:
  • model_limits: ["openai/gpt-4o-mini"] — demo nie może sięgnąć po droższy model.
  • credit_limit_usd: ustalony budżet trialu — rozbiegana pętla nie może go przekroczyć.
  • expired_time: koniec 14-dniowego okna — klucz przestaje autoryzować sam, gdy trial się skończy.
Po terminie każde dalsze żądanie na tym kluczu jest odrzucane bez wydanej kwoty, a klucz pokazuje Expired na liście. Nic do posprzątania; poświadczenie samo się wycofało.
# Przed wygaśnięciem — autoryzowane
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{"model": "openai/gpt-4o-mini", "messages": [{"role":"user","content":"ping"}]}'

# Po wygaśnięciu — to samo wywołanie jest odrzucane na warstwie uwierzytelniania,
# model nigdy nie jest wywoływany, a żadna kwota nie jest zużyta.

6. Kto co może

Wygaśnięcie jest rządzone tą samą bramką ról co reszta cyklu życia klucza, w zakresie twojej aktywnej przestrzeni roboczej:
AkcjaMinimalna rola
Wyświetlenie wygaśnięcia kluczaViewer
Ustawienie lub zmiana expired_time (tworzenie / edycja klucza)Developer
Ponowne ujawnienie plaintextu zwykłego kluczaDeveloper
Odczyt plaintextu klucza w zakresie gateway (is_firewall_gateway)Admin
Pełny cykl życia — tworzenie, wyłączanie, unieważnianie — oraz wzorzec rotacji, który łączy się z wygaśnięciem, zobacz Zarządzanie kluczami.

7. Kolejne kroki

Kwota, limit i wygaśnięcie

Limit-wydatków rodzeństwo wygaśnięcia — ogranicz klucz dolarami, jak również czasem.

Rotacja kluczy

Przekazanie bez przestoju, które utrzymuje niewygasający klucz od życia na zawsze.

Obiekt tokenu

Każde pole, które niesie klucz, w tym expired_time, i co każde z nich ogranicza.

Lista kontrolna minimalnych uprawnień

Połącz wygaśnięcie z limitami modeli, listami dozwolonych IP i limitami wydatków dla klucza o minimalnym promieniu rażenia.
Klucz, który wie, kiedy przestać, to o jedno poświadczenie mniej do zapamiętania, by je wycofać. Ustaw expired_time, zawsze gdy możesz nazwać datę — i pozwól bramie zrobić sprzątanie za ciebie.