Tworzenie i uwierzytelnianie aplikacji
Developer Application reprezentuje jeden zewnętrzny produkt. CloudPrint przechowuje publiczne informacje o aplikacji i klucze publiczne RS256, natomiast klucz prywatny pozostaje w bezpiecznym magazynie po Twojej stronie.
Utwórz Developer Account
Zaloguj się do Developer Portal zwykłym kontem CloudPrint i utwórz Developer Account dla firmy lub zespołu rozwijającego integrację. Role członków określają, kto może zarządzać aplikacjami, kluczami i instalacjami. Developer Account nie jest kontem klienta i nie zawiera drukarek.
Jedna aplikacja na jeden produkt
Zarejestruj Developer Application ze stałą nazwą, adresem strony, polityką prywatności i dokładnymi redirect URI. Otrzymany client_id jest używany w linkach instalacyjnych i JWT. Nie twórz osobnej aplikacji dla każdego klienta — połączenie klienta reprezentuje App Installation.
Skonfiguruj Redirect URI
Parametr redirect_uri w linku instalacyjnym musi dokładnie odpowiadać zarejestrowanej wartości, łącznie ze schematem, hostem, portem, ścieżką i query. Poza lokalnym środowiskiem używaj HTTPS. HTTP jest dozwolony tylko dla localhost, 127.0.0.1 i [::1]; symbole wieloznaczne, fragmenty URL i dane użytkownika są zabronione.
Dodaj klucz publiczny RS256
Wygeneruj parę kluczy RSA o długości co najmniej 2048 bitów w bezpiecznym środowisku. Do CloudPrint prześlij tylko klucz publiczny, a prywatny przechowuj w menedżerze sekretów lub HSM. CloudPrint nada kluczowi identyfikator używany jako JWT kid. Podczas rotacji najpierw wdroż nowy klucz, a stary odwołaj dopiero po przełączeniu wszystkich usług.
Twórz jednorazowe potwierdzenie JWT
Podpisz JWT z alg=RS256 i identyfikatorem aktywnego klucza w kid. Umieść client_id aplikacji w iss i sub, dokładny adres metody w aud, maksymalnie pięć minut między iat i exp oraz unikalne jti. Zsynchronizuj zegary i twórz potwierdzenie bezpośrednio przed pojedynczym żądaniem.
Sprawdzaj stan aplikacji
Nowa Developer Application jest aktywna od razu po utworzeniu. Uwierzytelnienie nadal wymaga aktywnych Developer Account, Application i klucza. Aplikacja w stanie suspended nie może tworzyć instalacji ani wydawać tokenów. Pokaż ten stan w swoim interfejsie zamiast bez końca ponawiać żądania.
Podpisuj wyłącznie na serwerze
Nie umieszczaj klucza prywatnego ani generatora potwierdzeń JWT w przeglądarce, aplikacji mobilnej, CloudPrint Agent lub środowisku klienta. Pozwól podpisywać tylko usłudze wymieniającej potwierdzenie na token. Nie zapisuj pełnego JWT w logach; do celów wsparcia przechowuj CloudPrint X-Request-Id obok własnego identyfikatora operacji.