Skip to main content
POST
Uzyskaj krótkotrwałe tokeny dostępu MCP, używając kodu autoryzacyjnego S256 klienta publicznego lub jego bieżącego tokenu odświeżania.

Uwierzytelnianie

Brak uwierzytelniania klienta HTTP. Prześlij client_id w treści zakodowanej w URL. Każdy nagłówek Authorization, client_secret lub client_assertion jest odrzucany.

Treść żądania

Przykłady żądań

Stosuj udokumentowany sposób kodowania i uwierzytelniania dla tej ścieżki. Struktura odpowiedzi i reguły idempotencji API akcji dotyczą wyłącznie wywołań akcji.

Odpowiedź

Nieprzezroczysty token dostępu Bearer, jego pozostały czas ważności w sekundach, przyznane zakresy i token odświeżania, jeśli klient zarejestrował refresh_token. expires_in wynosi maksymalnie 900 i może być mniejsze pod koniec ważności przyznanego dostępu.
HTTP 200

Nagłówki odpowiedzi

Uwagi do operacji

  • Rozpoznawane parametry skalarne muszą być podane jednokrotnie jako niepuste ciągi znaków bez znaków sterujących ASCII ani DEL. Powtórzone pola zapytania lub formularza są dekodowane jako tablice i odrzucane przy odczycie jako wartości skalarne.
  • Użyj danych formularza URL-encoded, np. curl —data-urlencode dla każdego pola. Treść tokenu w formacie JSON jest odrzucana z invalid_request.
  • Odbiorca zasobu jest wymagany dla obu typów grantu i musi dokładnie odpowiadać adresowi URL MCP środowiska, które wydało kod lub token odświeżania.
  • Wymiana kodu autoryzacyjnego wymaga oryginalnego client_id, dokładnego redirect_uri i pasującego S256 code_verifier. Kody wygasają po 2 minutach i są jednorazowe.
  • Punkt końcowy tokenów odrzuca każdy podany nagłówek Authorization, w tym Basic i Bearer, a także każde pole client_secret lub client_assertion w treści żądania.
  • Tokeny dostępu są ważne maksymalnie 15 minut. Przy zarejestrowanym refresh_token połączenie i rodzina tokenów odświeżania wygasają 30 dni po zatwierdzeniu przez użytkownika; rotacja nie przedłuża tego terminu.
  • To, czy zwracany jest refresh_token, zależy od zarejestrowanych typów przyznania uprawnień. Nie zależy od uwzględnienia offline_access w żądaniu autoryzacji. Zwracane scope zawiera dodatkowo offline_access zawsze, gdy zwracany jest token odświeżania.
  • Aby odnowić, wyślij grant_type=refresh_token z client_id, bieżącym refresh_token, resource i opcjonalnie zawężonym scope. Atomowo zastąp zapisany token odświeżania nową wartością.
  • Ponowne użycie zużytego kodu autoryzacyjnego lub zastąpionego tokenu odświeżania unieważnia całe połączenie, w tym wszystkie jego tokeny dostępu. Nie wymieniaj jednocześnie tego samego kodu ani tokenu odświeżania.
  • Żądania odświeżenia nigdy nie dodają uprawnień. Przy jawnym scope zachowywane są tylko żądane uprawnienia produktu i tożsamości; offline_access nie zachowuje pominiętych uprawnień produktu.
  • Tokeny są powiązane z użytkownikiem udzielającym zgody, klientem, odbiorcą zasobu, bieżącą własnością zespołu i aktywnym płatnym dostępem. Cofnięcie zgody lub zmiana własności wymaga ponownego połączenia.
  • Publiczny limit tokenów wynosi 60 żądań na minutę na adres IP klienta i jest współdzielony przez procesy robocze. Treści URL-encoded są ograniczone do 32 KiB.
  • Błędy OAuth zwracają error i error_description. Błędy parsera treści żądania mogą zostać zwrócone wcześniej w formacie błędu parsera integracji.
  • openid i email to uprawnienia tożsamości, niezależne od uprawnień produktu, akceptowane tylko wtedy, gdy są ogłaszane. email wymaga openid. Podczas pierwszej autoryzacji żądanie zawierające wyłącznie zakresy tożsamości używa domyślnych uprawnień produktu pokazanych na ekranie zgody.
  • client_id zwrócony przez rejestrację dynamiczną lub dokładny publiczny adres HTTPS dokumentu metadanych klienta.
  • Po przyznaniu openid wymiana kodu autoryzacji zwraca również id_token podpisany algorytmem RS256. Sprawdź podpis, wystawcę, odbiorcę, czas wygaśnięcia i nonce, jeśli go podano. Przyznane zakresy tożsamości pojawiają się w scope odpowiedzi; odświeżanie nie wydaje nowego id_token.
  • Jeśli OpenID Connect stanie się niedostępny, odświeżenie bez scope zachowa uprawnienia produktu i usunie uprawnienia tożsamości. Jawne żądanie niedostępnych zakresów tożsamości zwróci invalid_scope.
  • Jeśli konto zostało usunięte lub wyłączone, endpoint tokenów zwraca invalid_grant z HTTP 400.

Błędy