---
title: "Tworzenie i uwierzytelnianie aplikacji"
description: "Utwórz Developer Account i Developer Application, zarejestruj klucze RS256 i uwierzytelnij backend aplikacji."
---
<nav class="docs-breadcrumb" aria-label="Breadcrumb"><a href="/pl/docs/">Dokumentacja CloudPrint</a><span aria-hidden="true">/</span><span>Developer Platform</span></nav>

# Tworzenie i uwierzytelnianie aplikacji

<p class="docs-lead">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.</p>

## 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

<div class="docs-card-grid"><a class="docs-card" href="/pl/docs/developer-platform/"><strong>CloudPrint Developer Platform</strong><span>Zbuduj jedną aplikację instalowaną przez klientów na ich kontach CloudPrint poprzez stabilne App Installations.</span></a>
<a class="docs-card" href="/pl/docs/developer-platform/installations/"><strong>Instalacje i tokeny dostępu</strong><span>Instaluj aplikację na kontach klientów, zapisuj installation_id i wydawaj krótkotrwałe Installation Access Tokens.</span></a>
<a class="docs-card" href="/pl/docs/api/v1/app-installations/access-token/"><strong>Wydaj token instalacji aplikacji</strong><span>Uwierzytelnij Developer Application jednorazowym assertion RS256 i wydaj krótkotrwały token jednej zatwierdzonej App Installation.</span></a></div>

<nav class="docs-resource-links" aria-label="Następne kroki"><a href="/pl/docs/api/v1/explorer/">OpenAPI</a><a href="https://my.cloudprint.me">Otwórz panel</a><a href="/docs/legal/privacy/">Polityka prywatności</a><a href="/pl/docs/legal/terms/">Regulamin</a><a href="/pl/docs/legal/payments-and-refunds/">Płatności i zwroty</a><a href="/pl/docs/legal/data-processing/">DPA</a></nav>