HandyCafe Docs
owner it-admin

Jak skonfigurować logowanie społecznościowe OAuth

Ten przewodnik przeprowadzi Cię przez konfigurację logowania społecznościowego, aby klienci mogli logować się na komputerach klienckich za pomocą swoich kont Google, Facebook, Apple, X lub Discord. HandyCafe używa przepływu Device Authorization Grant (RFC 8628), zaprojektowanego dla urządzeń bez pełnej przeglądarki. Klienci skanują kod QR telefonem aby się uwierzytelnić.

Czego będziesz potrzebować

  • Dostęp administratora do HandyCafe Server.
  • Konto Google Cloud Console (dla OAuth Google) lub równoważny dostęp do portalu developerskiego dla innych dostawców.
  • Uruchomiony HandyCafe Server dostępny w sieci.
  • Co najmniej jeden podłączony komputer kliencki do testowania przepływu logowania.

Jak działa przepływ OAuth w HandyCafe

  1. Klient na bezczynnym komputerze klienckimi klika przycisk logowania społecznościowego (np. "Zaloguj się przez Google").
  2. Klient wysyła żądanie startu OAuth do serwera.
  3. Serwer kontaktuje punkt autoryzacji urządzeń dostawcy i otrzymuje kod urządzenia, kod użytkownika i URL weryfikacji.
  4. Klient wyświetla kod QR i kod użytkownika na ekranie bezczynności.
  5. Klient skanuje kod QR telefonem i uwierzytelnia się u dostawcy.
  6. Serwer odpytuje dostawcę do momentu ukończenia uwierzytelniania.
  7. Serwer tworzy Żądanie logowania OAuth widoczne na stronie Żądań.
  8. Administrator lub kasjer zatwierdza żądanie.
  9. Tworzone jest nowe konto członkowskie (lub istniejące konto jest wiązane) i klient jest logowany.

Jak skonfigurować Google OAuth

Część A: Tworzenie poświadczeń Google Cloud

  1. Otwórz Google Cloud Console pod adresem https://console.cloud.google.com w przeglądarce.
  2. Utwórz nowy projekt lub wybierz istniejący. Nazwij go rozpoznawalnie np. "HandyCafe OAuth".
  3. Przejdź do APIs & Services > OAuth consent screen.
  4. Wybierz External jako typ użytkownika.
  5. Wypełnij wymagane pola: Nazwa aplikacji ("Nazwa Twojej Kafejki"), E-mail wsparcia użytkowników i E-mail kontaktowy dewelopera.
  6. Kliknij Save and Continue przez sekcje Scopes i Test Users. Nie musisz dodawać specjalnych zakresów. Domyślne zakresy email i profile są wystarczające.
  7. Przejdź do APIs & Services > Credentials.
  8. Kliknij Create Credentials > OAuth client ID.
  9. Jako typ aplikacji wybierz TVs and Limited Input devices. To jest krytyczne. HandyCafe używa przepływu device authorization grant, który wymaga tego konkretnego typu klienta.
  10. Wpisz nazwę klienta (np. "HandyCafe Device Flow").
  11. Kliknij Create.
  12. Skopiuj Client ID i Client Secret z okna potwierdzenia. Przechowuj je bezpiecznie.

Część B: Konfiguracja HandyCafe Server

  1. Otwórz aplikację HandyCafe Server.
  2. Przejdź do Ustawienia w lewym pasku bocznym.
  3. Wybierz zakładkę OAuth.
  4. Włącz przełącznik OAuth u góry strony. Globalnie włącza to logowanie społecznościowe na wszystkich komputerach klienckich.
  5. Znajdź wiersz dostawcy Google na liście dostawców.
  6. Włącz przełącznik Google.
  7. Wklej Client ID w pole Client ID.
  8. Wklej Client Secret w pole Client Secret.
  9. Kliknij Zapisz aby zastosować konfigurację.

Część C: Testowanie przepływu logowania

  1. Przejdź do podłączonego komputera klienckiego. Ekran bezczynności powinien teraz wyświetlać sekcję logowania społecznościowego z przyciskiem Google.
  2. Kliknij przycisk logowania Google na ekranie bezczynności klienta.
  3. Klient wyświetla kod QR i kod użytkownika.
  4. Zeskanuj kod QR telefonem. Otwiera stronę weryfikacji urządzenia Google.
  5. Zaloguj się kontem Google i wpisz kod użytkownika gdy zostaniesz poproszony.
  6. Autoryzuj aplikację.

Oczekiwany rezultat: Na serwerze odtwarza się dźwięk powiadomienia i nowy wpis pojawia się na stronie Żądań.


Jak zatwierdzić żądanie logowania

Każde logowanie OAuth generuje żądanie wymagające zatwierdzenia przez administratora lub kasjera.

  1. Gdy nadejdzie żądanie logowania, na serwerze odtwarza się dźwięk powiadomienia i znaczek pojawia się na ikonie strony Żądań.
  2. Przejdź do strony Żądania.
  3. Oczekujące żądanie pokazuje: nazwę dostawcy (np. Google), nazwę wyświetlaną z dostawcy, adres e-mail, komputer kliencki który zainicjował żądanie i znacznik czasu.
  4. Przejrzyj szczegóły żądania. Sprawdź czy osoba przy komputerze klienckim odpowiada informacjom o koncie.
  5. Kliknij Zatwierdź aby zaakceptować żądanie.

Oczekiwany rezultat: Jeśli żadne istniejące konto członkowskie nie jest powiązane z tą tożsamością OAuth, automatycznie tworzone jest nowe konto. Klient jest logowany i komputer kliencki przechodzi z ekranu bezczynności na Online Page.


Jak skonfigurować Facebook OAuth

  1. Otwórz Facebook Developer Portal pod adresem https://developers.facebook.com .
  2. Utwórz nową aplikację. Wybierz typ Consumer.
  3. Na stronie Settings > Basic aplikacji zanotuj App ID i App Secret.
  4. Przejdź do Add Product i dodaj Facebook Login for Devices.
  5. Otwórz HandyCafe Server i przejdź do Ustawienia > OAuth.
  6. Znajdź wiersz dostawcy Facebook.
  7. Włącz przełącznik Facebook.
  8. Wklej App ID w pole Client ID.
  9. Wklej App Secret w pole Client Secret.
  10. Kliknij Zapisz.

Jak skonfigurować Discord OAuth

  1. Otwórz Discord Developer Portal pod adresem https://discord.com/developers/applications .
  2. Utwórz nową aplikację. Nazwij ją od swojej kafejki.
  3. Przejdź do sekcji OAuth2 w lewym pasku bocznym.
  4. Skopiuj Client ID i wygeneruj Client Secret. Przechowuj secret bezpiecznie ponieważ Discord wyświetla go tylko raz.
  5. Otwórz HandyCafe Server i przejdź do Ustawienia > OAuth.
  6. Znajdź wiersz dostawcy Discord.
  7. Włącz przełącznik Discord.
  8. Wklej Client ID w pole Client ID.
  9. Wklej Client Secret w pole Client Secret.
  10. Kliknij Zapisz.

Typowe błędy do uniknięcia

  • Użycie niewłaściwego typu klienta OAuth w Google Cloud Console. Musisz wybrać "TVs and Limited Input devices" przy tworzeniu OAuth client ID. Jeśli wybierzesz "Web application" lub "Desktop app", przepływ device authorization nie będzie działać.
  • Zapomnienie o włączeniu globalnego przełącznika OAuth. Włączenie poszczególnych dostawców nie wystarczy. Główny przełącznik OAuth u góry strony ustawień OAuth również musi być włączony.
  • Nie zatwierdzanie żądań logowania. Logowania OAuth wymagają jawnego zatwierdzenia z serwera. Jeśli nikt nie monitoruje strony Żądań, klienci będą czekać bezterminowo na ekranie bezczynności.
  • Wklejanie poświadczeń z dodatkowymi spacjami. Przy kopiowaniu Client ID lub Client Secret z konsoli dostawcy upewnij się, że nie ma wiodących ani końcowych spacji. Dodatkowe spacje spowodują niepowodzenia uwierzytelniania.
  • Zapomnienie o opublikowaniu aplikacji Google OAuth. Aplikacje Google w trybie "Testing" pozwalają tylko na ograniczoną liczbę użytkowników testowych. Aby pozwolić dowolnemu klientowi na logowanie, musisz opublikować aplikację.
  • Mylenie Client ID z Client Secret. To dwie różne wartości. Zamienienie ich spowoduje niepowodzenia uwierzytelniania.