Przejdź do treści

Tematy prywatne

Zabezpiecz swoje powiadomienia za pomocą tematów prywatnych - pełna kontrola dostępu dla systemów produkcyjnych i wrażliwych danych.

Wymagana subskrypcja

Tematy prywatne są dostępne w planie ESSENTIALS i wyższych ($9/miesiąc). Zobacz cennik →

Czym są tematy prywatne?

Tematy prywatne zapewniają prawdziwą prywatność i kontrolę dostępu dla Twoich powiadomień. W przeciwieństwie do tematów publicznych, w których każdy może publikować, tematy prywatne wymagają uwierzytelnienia zarówno do publikowania, jak i subskrypcji.

Kluczowe funkcje:

  • 🔒 Wymagane uwierzytelnienie - Tylko autoryzowani użytkownicy mogą publikować lub subskrybować
  • 🎟️ Tokeny dostępu - Szczegółowa kontrola nad tym, kto może uzyskać dostęp do Twojego tematu
  • 👥 Współpraca zespołowa - Udostępniaj tematy prywatne członkom zespołu (plan TEAM)
  • 🔐 Uprawnienia tokenu - Oddzielne poziomy dostępu do odczytu/zapisu
  • Wygaśnięcie tokenu - Ustaw daty wygaśnięcia dla tymczasowego dostępu
  • 🚫 Unieważnienie - Natychmiast unieważnij dostęp usuwając tokeny

Tematy publiczne vs prywatne

Funkcja Tematy publiczne Tematy prywatne
Kto może publikować Każdy kto zna nazwę ⚠️ Tylko właściciel + posiadacze tokenów 🔒
Kto może subskrybować Każdy Właściciel, posiadacze tokenów lub subskrybenci odkrywalnych tematów (tylko odczyt) 🔒
Kontrola dostępu Brak (tylko ograniczanie szybkości IP) Pełna kontrola poprzez tokeny ✅
Wykrywalny Tak (opcjonalnie) Opcjonalnie - umożliwia publiczny dostęp tylko do odczytu
Najlepszy dla Otwarte społeczności, testowanie Produkcja, wrażliwe dane
Wymaganie planu FREE ESSENTIALS+ ($9/mies.)

Tworzenie tematów prywatnych

Przez panel webowy

  1. Przejdź do panelu
  2. Przejdź do app.notifer.io
  3. Kliknij "+ Nowy temat"

  4. Wybierz poziom prywatności

  5. Wybierz opcję "Prywatny"
  6. Wprowadź nazwę i opis tematu

  7. Utwórz temat

  8. Kliknij "Utwórz temat"

Limity planu

  • FREE: 1 temat prywatny
  • ESSENTIALS: 10 tematów prywatnych
  • TEAM: Nieograniczone tematy prywatne

Odkrywalne tematy prywatne

Tematy prywatne mogą być opcjonalnie odkrywalne w publicznym katalogu, umożliwiając każdemu znalezienie i subskrypcję z dostępem tylko do odczytu.

Jak to działa

Gdy włączysz odkrywalność dla tematu prywatnego:

  • 🔍 Widoczny w przeglądaniu - Temat pojawia się w publicznym katalogu "Odkryj tematy"
  • 👀 Dostęp tylko do odczytu - Subskrybenci mogą odbierać powiadomienia, ale nie mogą publikować
  • 🔒 Ochrona zapisu - Tylko właściciel i posiadacze tokenów mogą publikować wiadomości
  • 🏷️ Znacznik "Tylko odczyt" - Subskrybenci widzą wskaźnik "Tylko odczyt" na temacie

Przypadki użycia

Ogłoszenia i aktualizacje statusu:

  • Udostępniaj ogłoszenia firmowe klientom (mogą subskrybować, Ty kontrolujesz publikowanie)
  • Publiczna strona statusu Twojej usługi (subskrybenci otrzymują aktualizacje, ale nie mogą publikować)
  • Powiadomienia o wydaniach produktu dla zainteresowanych użytkowników

Kontrolowane udostępnianie informacji:

  • Wewnętrzne tematy zespołu widoczne dla zewnętrznych interesariuszy (tylko odczyt)
  • Aktualizacje projektów dla klientów bez dawania im dostępu do zapisu
  • Kanały informacyjne, w których tylko autoryzowany personel może publikować

Włączanie odkrywalności

  1. Utwórz lub edytuj temat prywatny
  2. Zaznacz "Odkrywalny w publicznym katalogu"
  3. Dodaj opis (wymagany dla odkrywalnych tematów)
  4. Zapisz temat

Wymagany opis

Odkrywalne tematy prywatne muszą mieć opis, aby użytkownicy przeglądający katalog rozumieli, o czym jest temat.

Doświadczenie subskrybenta

Gdy ktoś subskrybuje odkrywalny temat prywatny:

  • Może przeglądać i odbierać wszystkie wiadomości (SSE w czasie rzeczywistym, powiadomienia push)
  • Widzi znacznik "Tylko odczyt" na karcie tematu
  • Próby publikowania będą odrzucone z komunikatem "Odmowa dostępu"
  • Może zrezygnować z subskrypcji w dowolnym momencie

Wyłączanie odkrywalności

Jeśli wyłączysz odkrywalność tematu prywatnego:

  • Temat zostaje usunięty z publicznego katalogu
  • Istniejący subskrybenci zachowują dostęp tylko do odczytu (już zasubskrybowali)
  • Nowi użytkownicy nie mogą odkryć ani subskrybować tematu
  • Aby usunąć istniejących subskrybentów, musisz skłonić ich do rezygnacji z subskrypcji lub odtworzyć temat

Kontrola dostępu za pomocą tokenów

Tematy prywatne używają tokenów dostępu do uwierzytelniania. Każdy token może mieć różne uprawnienia:

Typy tokenów

READ - Może tylko subskrybować i czytać wiadomości

curl -N https://app.notifer.io/private-topic/sse?token=tk_read_abc123

WRITE - Może tylko publikować wiadomości

curl -d "Deploy complete" \
  -H "X-Topic-Token: tk_write_xyz789" \
  https://app.notifer.io/private-topic

READ_WRITE - Może zarówno publikować, jak i subskrybować

curl -d "Message" \
  -H "X-Topic-Token: tk_full_def456" \
  https://app.notifer.io/private-topic

Tworzenie tokenów dostępu

  1. Przejdź do ustawień tematu
  2. Otwórz menu tematu (trzy kropki)
  3. Kliknij "Zarządzaj tokenami dostępu"

  4. Utwórz nowy token

  5. Kliknij "Wygeneruj token"
  6. Wprowadź nazwę tokenu (np. "Pipeline CI/CD")
  7. Wybierz poziom dostępu (READ, WRITE lub READ_WRITE)
  8. Opcjonalnie: Ustaw datę wygaśnięcia

  9. Zapisz token

  10. ⚠️ Skopiuj token natychmiast - jest wyświetlany tylko raz!
  11. Przechowuj bezpiecznie (menedżer haseł, skarbiec sekretów)

Bezpieczeństwo tokenu

Tokeny dostępu są wyświetlane tylko raz podczas tworzenia. Jeśli zgubisz token, musisz go usunąć i utworzyć nowy.

Publikowanie do tematów prywatnych

Z tokenem dostępu do tematu

curl -d "Rozpoczęto wdrożenie produkcyjne" \
  -H "X-Topic-Token: tk_your_token_here" \
  -H "X-Priority: 4" \
  https://app.notifer.io/prod-alerts

Z uwierzytelnianiem JWT

# 1. Pobierz token JWT (logowanie)
TOKEN=$(curl -X POST https://app.notifer.io/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"user@example.com","password":"***"}' \
  | jq -r '.access_token')

# 2. Publikuj z JWT
curl -d "Wiadomość od właściciela" \
  -H "Authorization: Bearer $TOKEN" \
  https://app.notifer.io/my-private-topic

Z kluczem API

curl -d "Wiadomość automatyczna" \
  -H "X-API-Key: noti_your_api_key_here" \
  https://app.notifer.io/my-private-topic

Subskrybowanie tematów prywatnych

Panel webowy

  1. Przejdź do strony tematu
  2. Kliknij "Subskrybuj"
  3. Automatycznie subskrybujesz (właściciel ma pełny dostęp)

Aplikacja mobilna

  1. Otwórz aplikację mobilną
  2. Wyszukaj swój temat prywatny
  3. Subskrybuj (właściciel ma automatyczny dostęp)

SSE z tokenem

const token = 'tk_your_read_token';
const eventSource = new EventSource(
  `https://app.notifer.io/private-topic/sse?token=${token}`
);

eventSource.onmessage = (event) => {
  const message = JSON.parse(event.data);
  console.log(message);
};

Zespołowe tematy prywatne

W planie TEAM i wyższych możesz tworzyć tematy prywatne należące do zespołu:

Korzyści: - Wszyscy członkowie zespołu mogą publikować i subskrybować - Limity szybkości oparte na subskrypcji właściciela zespołu - Wspólne zarządzanie i kontrola dostępu - Przetrwanie gdy członkowie zespołu odchodzą

Tworzenie zespołowych tematów prywatnych:

  1. Utwórz temat i wybierz "Prywatny"
  2. W sekcji "Zespół (opcjonalnie)" wybierz swój zespół
  3. Wszyscy członkowie zespołu z odpowiednimi rolami mogą uzyskać dostęp

Zobacz Przewodnik współpracy zespołowej dla szczegółów.

Przypadki użycia

Monitorowanie produkcyjne

# Pipeline CI/CD
curl -d "Kompilacja #${BUILD_NUMBER} wdrożona na produkcję" \
  -H "X-Topic-Token: ${PROD_DEPLOY_TOKEN}" \
  -H "X-Priority: 4" \
  https://app.notifer.io/prod-deployments

Bezpieczne alerty klientów

# Powiadomienia o zamówieniach (tylko wewnętrzne)
curl -d "Nowe zamówienie #12345 - $599.99" \
  -H "X-Topic-Token: ${ORDER_TOKEN}" \
  https://app.notifer.io/customer-orders

Wrażliwe alerty systemowe

# Status kopii zapasowej bazy danych
curl -d "Kopia zapasowa zakończona: 2.3GB, 00:23:45" \
  -H "X-Topic-Token: ${BACKUP_TOKEN}" \
  -H "X-Tags: backup,success" \
  https://app.notifer.io/db-backups

Najlepsze praktyki

Zarządzanie tokenami

RÓB:

  • Używaj opisowych nazw tokenów ("Jenkins CI", "Skrypt monitorujący")
  • Ustaw daty wygaśnięcia dla tymczasowego dostępu
  • Używaj tokenów tylko do odczytu, gdy to możliwe
  • Przechowuj tokeny w bezpiecznych skarbcach (AWS Secrets Manager, 1Password)
  • Regularnie rotuj tokeny (co 90 dni)
  • Natychmiast usuwaj nieużywane tokeny

NIE RÓB:

  • Nie udostępniaj tokenów w repozytoriach kodu
  • Nie używaj tego samego tokenu w wielu systemach
  • Nie przechowuj tokenów w plikach zwykłego tekstu
  • Nie używaj zbyt szerokich uprawnień tokenów (READ_WRITE, gdy wystarczy READ)

Nazywanie tematów

W przypadku tematów prywatnych możesz używać prostych, opisowych nazw, ponieważ nie są odgadywalne:

✅ prod-alerts
✅ customer-orders
✅ db-backups
✅ team-notifications

Nie potrzebujesz złożonych losowych ciągów jak w tematach publicznych!

Rozwiązywanie problemów

"Private topic. Provide X-Topic-Token header"

Problem: Próba publikowania/subskrypcji bez uwierzytelnienia

Rozwiązanie:

# Dodaj token do żądania
curl -d "Message" \
  -H "X-Topic-Token: tk_your_token_here" \
  https://app.notifer.io/private-topic

"Invalid or expired topic access token"

Problem: Token jest nieprawidłowy, wygasł lub został usunięty

Rozwiązanie:

  1. Sprawdź, czy token jest poprawny (błąd kopiowania/wklejania?)
  2. Sprawdź, czy token nie wygasł
  3. Upewnij się, że token nie został usunięty
  4. W razie potrzeby utwórz nowy token

"Only the topic owner can create access tokens"

Problem: Nie jesteś właścicielem tematu

Rozwiązanie:

  • Tylko właściciele tematów mogą zarządzać tokenami dostępu
  • Poproś właściciela tematu o udostępnienie tokenu
  • W przypadku tematów zespołowych potrzebujesz roli właściciela lub administratora

Migracja z publicznego na prywatny

Nie można przekonwertować bezpośrednio

Nie możesz przekonwertować tematu publicznego na prywatny (lub odwrotnie). Musisz utworzyć nowy temat prywatny.

Kroki migracji:

  1. Utwórz nowy temat prywatny z inną nazwą
  2. Zaktualizuj integracje, aby używały nowego tematu + tokenów
  3. Przetestuj publikowanie i subskrypcję
  4. Usuń stary temat publiczny, gdy będziesz gotowy

Powiązana dokumentacja


Potrzebujesz pomocy?

  • Zobacz FAQ dla częstych pytań
  • Sprawdź Rozwiązywanie problemów dla rozwiązywania problemów
  • Skontaktuj się z pomocą techniczną: support@notifer.io