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¶
- Przejdź do panelu
- Przejdź do app.notifer.io
-
Kliknij "+ Nowy temat"
-
Wybierz poziom prywatności
- Wybierz opcję "Prywatny"
-
Wprowadź nazwę i opis tematu
-
Utwórz temat
- 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¶
- Utwórz lub edytuj temat prywatny
- Zaznacz "Odkrywalny w publicznym katalogu"
- Dodaj opis (wymagany dla odkrywalnych tematów)
- 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
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ć
Tworzenie tokenów dostępu¶
- Przejdź do ustawień tematu
- Otwórz menu tematu (trzy kropki)
-
Kliknij "Zarządzaj tokenami dostępu"
-
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
-
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¶
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¶
- Przejdź do strony tematu
- Kliknij "Subskrybuj"
- Automatycznie subskrybujesz (właściciel ma pełny dostęp)
Aplikacja mobilna¶
- Otwórz aplikację mobilną
- Wyszukaj swój temat prywatny
- 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:
- Utwórz temat i wybierz "Prywatny"
- W sekcji "Zespół (opcjonalnie)" wybierz swój zespół
- 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:
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:
- Sprawdź, czy token jest poprawny (błąd kopiowania/wklejania?)
- Sprawdź, czy token nie wygasł
- Upewnij się, że token nie został usunięty
- 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:
- Utwórz nowy temat prywatny z inną nazwą
- Zaktualizuj integracje, aby używały nowego tematu + tokenów
- Przetestuj publikowanie i subskrypcję
- Usuń stary temat publiczny, gdy będziesz gotowy
Powiązana dokumentacja¶
- Tokeny dostępu do tematu - Szczegółowa dokumentacja tokenów
- Przewodnik tworzenia tematów - Kompletny przewodnik tworzenia tematów
- Współpraca zespołowa - Zespołowe tematy prywatne
- Publikowanie przez HTTP - Metody uwierzytelniania
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