Przejdź do głównej zawartoś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.99/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, które wymagają uwierzytelnienia tylko do publikowania (każdy może czytać), tematy prywatne wymagają uwierzytelnienia zarówno do publikowania, jak i subskrypcji, z precyzyjną kontrolą dostępu za pomocą tokenów tematów.

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​

FunkcjaTematy publiczneTematy prywatne
Kto może publikowaćKażdy uwierzytelniony użytkownik (JWT/klucz API) 🔒Tylko właściciel + posiadacze tokenów (token tematu/JWT/klucz API) 🔒
Kto może subskrybowaćKażdyWłaściciel, posiadacze tokenów lub subskrybenci odkrywalnych tematów (tylko odczyt) 🔒
Kontrola dostępuWymagane uwierzytelnianie do publikowania (zapobiega spamowi)Pełna kontrola poprzez tokeny ✅
WykrywalnyTak (opcjonalnie)Opcjonalnie - umożliwia publiczny dostęp tylko do odczytu
Najlepszy dlaOtwarte społeczności, testowanieProdukcja, wrażliwe dane
Wymaganie planuFREEESSENTIALS+ ($9.99/mies.)

Tworzenie tematów prywatnych​

Przez panel webowy​

  1. Przejdź do panelu

  2. Wybierz poziom prywatności

    • Wybierz opcję "Prywatny"
    • Wprowadź nazwę i opis tematu
  3. Utwórz temat

    • Kliknij "Utwórz temat"
Limity planu
  • FREE: 1 temat prywatny
  • ESSENTIALS: 10 tematów prywatnych
  • TEAM: 25 tematów prywatnych

"Odkrywalne" tematy prywatne​

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

Jak to działa​

Gdy włączysz widoczność 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 "Widoczny w publicznym katalogu"
  3. Dodaj opis (wymagany)
  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

    • Otwórz menu tematu (trzy kropki)
    • Kliknij "Zarządzaj tokenami dostępu"
  2. Utwórz nowy token

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

    • ⚠️ Skopiuj token natychmiast - jest wyświetlany tylko raz!
    • 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​

Zalecaną metodą jest użycie tokena dostępu do tematu:

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

Oprócz tokenów dostępu do tematów możesz również użyć tokenów JWT lub kluczy API. Pełny opis wszystkich metod oraz przykłady kodu znajdziesz w Uwierzytelnianie.

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: 2" \
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?