---
title: "Uwierzytelnianie OAuth2 Client Credentials"
description: "Utwórz aplikację API CloudPrint, pobieraj krótkotrwały token i chroń dane dostępowe, nadając tylko niezbędne uprawnienia."
---
<nav class="docs-breadcrumb" aria-label="Breadcrumb"><a href="/pl/docs/">Dokumentacja CloudPrint</a><span aria-hidden="true">/</span><span>Print API</span></nav>

# Uwierzytelnianie OAuth2 Client Credentials

<p class="docs-lead">CloudPrint używa serwerowego OAuth2 Client Credentials. Sekret pozostaje wyłącznie w chronionym magazynie po stronie serwera; nie może trafić do przeglądarki, aplikacji mobilnej, skryptu agenta ani publicznego repozytorium.</p>

## Utwórz aplikację i wybierz uprawnienia

Utwórz osobną aplikację API dla każdego systemu. Druk PDF i RAW wymaga `printers:read`, `documents:write`, `print_jobs:write`, `print_jobs:read`; dodaj `agents:read` tylko dla `/api/v1/agents`. Sekret jest wyświetlany raz.

## Pobierz i przechowuj token

```bash
curl -sS https://public-api.cloudprint.me/oauth/token \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'grant_type=client_credentials' \
  --data-urlencode 'client_id=YOUR_CLIENT_ID' \
  --data-urlencode 'client_secret=YOUR_CLIENT_SECRET' \
  --data-urlencode 'scope=printers:read documents:write print_jobs:write print_jobs:read'
```

```json
{
  "token_type": "Bearer",
  "expires_in": 900,
  "access_token": "eyJ..."
}
```

Przechowuj token niemal przez cały 900-sekundowy okres ważności. Nie pobieraj nowego przed każdym wydrukiem.

## Sprawdź konto i uprawnienia

```bash
curl -sS https://public-api.cloudprint.me/api/v1/me \
  -H "Authorization: Bearer $ACCESS_TOKEN"
```

```json
{
  "account_id": "44444444-4444-4444-8444-444444444444",
  "account_name": "Acme Print Ops",
  "client_app_id": "33333333-3333-4333-8333-333333333333",
  "client_app_name": "Warehouse integration",
  "scopes": [
    "printers:read",
    "documents:write",
    "print_jobs:write",
    "print_jobs:read"
  ]
}
```

Ten test pokazuje konto, aplikację i uprawnienia tokenu, zapobiegając drukowi na niewłaściwym koncie.

## Obsłuż błędy

`400 invalid_scope` oznacza nieznane lub nieprzyznane uprawnienie. `401 invalid_client` podczas pobierania tokenu oznacza błędne dane dostępowe. Po `401` z API odśwież token raz i ponów żądanie raz. `403` oznacza brak uprawnienia w ważnym tokenie.

## Bezpieczna wymiana danych dostępowych

Wydaj zamiennik, wdróż go przez magazyn sekretów i sprawdź `/me` przed unieważnieniem starego klienta. Nie zapisuj sekretu ani pełnego tokenu w dziennikach; zachowuj `X-Request-Id`.

## Następne kroki

<div class="docs-card-grid"><a class="docs-card" href="/pl/docs/getting-started/"><strong>Szybki start z CloudPrint API</strong><span>Połącz agenta, pobierz token OAuth, wybierz drukarkę, wyślij pierwsze zadanie i sprawdź jego stan końcowy.</span></a>
<a class="docs-card" href="/pl/docs/api/overview/"><strong>Przegląd CloudPrint Public API</strong><span>Praktyczna mapa uwierzytelniania, drukarek, dokumentów, zadań, statusów i błędów w integracji CloudPrint.</span></a>
<a class="docs-card" href="/pl/docs/developer-platform/"><strong>CloudPrint Developer Platform dla aplikacji klientów</strong><span>Zbuduj jedną aplikację, którą klienci mogą połączyć ze swoimi kontami CloudPrint.</span></a></div>

<nav class="docs-resource-links" aria-label="Następne kroki"><a href="https://cloudprint.me/status/">Status usługi</a><a href="/pl/docs/api/v1/explorer/">OpenAPI</a><a href="https://developer.cloudprint.me">Developer Portal</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/data-processing/">DPA</a><a href="/docs/legal/service-level-agreement/">Service Level Agreement</a></nav>