Odpowiednie scenariusze: tworzysz aplikację zewnętrzną / Agent / klienta MCP / zautomatyzowany przepływ pracy i chcesz umożliwić użytkownikom logowanie jednym kliknięciem za pomocą konta Ace Data Cloud oraz dostęp do ich zasobów na platformie w razie potrzeby, bez konieczności ręcznego kopiowania i wklejania API Key.
Szybki przegląd terminów i endpointów
Wszystkie endpointy znajdują się pod adresemhttps://auth.acedata.cloud, a najnowsze adresy można w każdej chwili uzyskać przez endpoint wykrywania (Discovery):
Obsługiwane możliwości:
response_type=code, grant_types=authorization_code, refresh_token, code_challenge_methods=S256, plain, metody uwierzytelniania klienta client_secret_post (klient poufny) / none (publiczny klient PKCE).
Zakresy uprawnień (Scope)
Wnioskuj o uprawnienia zgodnie z zasadą „najmniejszych uprawnień”; użytkownik zobaczy na stronie autoryzacji każdą żądaną przez Ciebie zgodę. Tożsamość (zgodne z OIDC)
Zasoby platformy
Zakresy zbiorcze (automatyczne rozwinięcie)
Specjalne
Typowe kombinacje: zewnętrzne „logowanie jednym kliknięciem” =openid profile; klient MCP / IDE wymagający automatycznego zarządzania Key =openid profile credentials:read credentials:write; pełny panel zarządzania =openid profile email platform offline_access.
Krok 1: Zarejestruj aplikację OAuth
Otwórz auth.acedata.cloud/user/oauth-apps → „Utwórz aplikację” i wypełnij:- Nazwa / opis / logo aplikacji: będą wyświetlane na stronie zgody użytkownika na autoryzację.
- Typ klienta (Client Type):
- Poufny (confidential) — masz backend i możesz bezpiecznie przechowywać
client_secret(usługa Web, usługa backendowa). - Publiczny (public) — czysty frontend / desktop / CLI / urządzenie mobilne, nie może przechowywać sekretu i musi używać PKCE.
- Poufny (confidential) — masz backend i możesz bezpiecznie przechowywać
- Adresy zwrotne (Redirect URIs): adres, na który użytkownik zostanie przekierowany po zakończeniu autoryzacji; musi być dokładnie zgodny z
redirect_uriprzekazanym podczas rozpoczęcia autoryzacji. Można podać wiele adresów. - Zakresy uprawnień (Scopes): zaznacz scope potrzebne z poprzedniej sekcji.
client_id; klient poufny otrzyma również jednorazowo wyświetlony client_secret — zapisz go natychmiast, ponieważ po zamknięciu nie będzie można wyświetlić go ponownie (możesz wygenerować go ponownie poprzez „Obróć sekret / Rotate Secret” na stronie szczegółów; stary sekret natychmiast utraci ważność).
Każde konto może utworzyć maksymalnie 20 aplikacji OAuth.
Krok 2: Przekieruj użytkownika na stronę autoryzacji
W swojej aplikacji przekieruj przeglądarkę użytkownika na stronę autoryzacji, przekazując parametry zapytania:state: samodzielnie wygenerowany losowy ciąg, zwracany bez zmian w wywołaniu zwrotnym, używany do ochrony przed CSRF; koniecznie go zweryfikuj.- PKCE (obowiązkowe dla klienta publicznego, zalecane również dla klienta poufnego): najpierw wygeneruj losowy
code_verifier, a następnie obliczcode_challenge = BASE64URL( SHA256( code_verifier ) ), umieśćcode_challengew URL autoryzacji, acode_verifierzachowaj do użycia w kroku 4.
<redirect_uri>?error=access_denied&error_description=...&state=....
Kod autoryzacyjny jest ważny 10 minut i może być użyty tylko raz.
Krok 3: Wymień kod autoryzacyjny na token
W swoim backendzie (klient poufny) lub kliencie (publiczny klient PKCE) użyjcode, aby wywołać endpoint tokenów.
Klient poufny (z client_secret):
refresh_token pojawia się tylko, gdy zażądano offline_access):
access_token to JWT zawierający deklarację scope; okres ważności wynosi 15 dni (liczba sekund expires_in). Refresh Token jest ważny 30 dni.
Krok 4: Wywoływanie interfejsów za pomocą Access Token
Wystarczy umieścić token w nagłówkuAuthorization: Bearer.
Odczytywanie informacji o użytkowniku (UserInfo, pola filtrowane według autoryzowanego scope):
platform.acedata.cloud, autoryzacja według scope). Na przykład po uzyskaniu credentials:read:
scope w JWT — token może uzyskać dostęp tylko do zasobów autoryzowanych przez użytkownika. W przypadku dostępu do nieautoryzowanego zasobu zostanie zwrócone 403.
Odświeżanie tokenu
Po wygaśnięciu Access Token użyj Refresh Token, aby wymienić go na parę nowych tokenów (wymaga wcześniejszego zażądaniaoffline_access):
Unieważnianie tokenu
Rzeczywisty przykład: nasze własne serwery MCP są podłączone właśnie w ten sposób
Połączenia „Sign in with Ace Data Cloud” pojawiające się w Claude Desktop / Cursor dla ponad 15 serwerów MCP Ace Data Cloud (NanoBanana, Midjourney, Suno, Seedance, Kling…) korzystają właśnie z tego procesu: wszystkie są zarejestrowane jako aplikacje OAuth typu publicznego (PKCE), żądają scope związanego zcredentials, a po autoryzacji użytkownika serwer MCP może w jego imieniu wywoływać api.acedata.cloud — bez konieczności ręcznego wklejania API Key przez użytkownika. Twój sposób integracji jest dokładnie taki sam jak ich.
Częste błędy
Odpowiedzi błędów mają jednolity format{ "error": "<code>", "error_description": "<opis czytelny dla człowieka>" }:
Szybki przegląd limitów
Osadzanie aplikacji OAuth innej firmy na stronie głównej Studio
W „Ustawienia → Strona główna → Komponenty witryny” Studio można włączyć OAuth i skonfigurowaćclient_id aplikacji innej firmy oraz zarejestrowany adres zwrotny.
Witryna i adres zwrotny muszą używać HTTPS, mieć to samo źródło (protokół, domena i port) oraz mieć inne źródło niż Studio.
W konfiguracji nie wolno podawać client_secret; klucz aplikacji może być przechowywany wyłącznie w backendzie innej firmy.
Uprawnienia żądane przez komponent to profile:read credentials:read. Każdy odwiedzający musi wyrazić zgodę osobno; konfiguracja komponentu przez administratora witryny nie oznacza autoryzacji odwiedzającego.
Strona innej firmy generuje losowy state i verifier PKCE, a następnie wysyła do Studio challenge S256. Studio hostuje oficjalną stronę autoryzacji w obszarze komponentu,
po wyrażeniu zgody przez użytkownika strona innej firmy otrzymuje jednorazowy kod autoryzacyjny, wywołuje endpoint token w celu wymiany go na OAuth access token, a następnie uzyskuje dostęp do
GET https://platform.acedata.cloud/api/v1/credentials/?user_id=<用户ID> w celu odczytania istniejącego API Key.
ID użytkownika pochodzi z id zwróconego w poprzednim kroku przez GET https://auth.acedata.cloud/api/v1/users/me; interfejs listy poświadczeń nie akceptuje user_id=me.
Studio nie przekazuje stronie innej firmy własnego tokenu logowania ani nie odczytuje bezpośrednio i nie wstrzykuje Key użytkownika.
Klienci publiczni muszą używać S256 PKCE. Podczas wymiany tokenu należy przekazać redirect_uri dokładnie zgodny z tym w żądaniu autoryzacji.
Kod autoryzacyjny można wymienić tylko raz. Przed autoryzacją sprawdzane jest, czy adres zwrotny został zarejestrowany.
Strona innej firmy musi implementować protokół komunikatów; dowolna gotowa strona internetowa nie może zostać automatycznie zintegrowana wyłącznie przez wpisanie URL.
Pełny przykład znajduje się w Przewodniku integracji komponentu Studio OAuth.
Autoryzacja odczytu API Key oznacza zezwolenie stronie innej firmy na zapisanie i używanie tego Key. Anulowanie autoryzacji OAuth nie unieważnia Key już skopiowanego przez stronę trzecią;
użytkownik musi osobno unieważnić lub obrócić Key.
