Przejdź do treści

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 jednorazowy assertion 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 assertion bezpośrednio przed pojedynczym żądaniem.

Sprawdzaj stan aplikacji

Developer Account, Application i klucz muszą być aktywne. Aplikacja w stanie pending_review lub 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 assertion w przeglądarce, aplikacji mobilnej, CloudPrint Agent lub środowisku klienta. Pozwól podpisywać tylko usłudze wymieniającej assertion na token. Nie zapisuj pełnego JWT w logach; do celów wsparcia przechowuj CloudPrint X-Request-Id obok własnego identyfikatora operacji.

Lista kontrolna przed wdrożeniem

  • Korzystaj z wychodzącego połączenia agenta; nie wystawiaj portów drukarki do internetu.
  • Zapisuj stabilny identyfikator drukarki, a nie tylko jej nazwę.
  • Sprawdzaj format dokumentu, rozmiar strony i orientację przed utworzeniem zadania.
  • Jawnie obsługuj status końcowy, ponowienia i ochronę przed podwójnym drukiem.

Następne kroki

Przewodniki dotyczące integracji CloudPrint, podłączania lokalnego agenta i obsługi procesów drukowania.