HandyCafe Docs
owner it-admin

Како да се воспостави OAuth социјален влез

Овој водич ќе ве води низ конфигурирање на социјален логин така што клиентите можат да се пријават на клиентот PCs користејќи ги нивните сметки Google, Facebook, Apple, X, или Discord. HandyCafe го користи потокот за овластување на уредот (RFC 8628), кој е дизајниран за уреди без полн прелистувач. Клиентите го сканираат QR кодот со својот телефон за да го потврдат.

Што ќе ви треба

  • Административен пристап до HandyCafe Server.
  • За Google Cloud Console сметка (за Google OAuth) или еквивалентен пристап до порталот на програмерите за други провајдери.
  • HandyCafe Server работи и е достапна на вашата мрежа.
  • Најмалку еден поврзан клиент PC за да го тестира потокот на влез.

Како работи потокот на уредот OAuth во HandyCafe

Пред да се потопиме во конструирање, тука е резюме на потокот:

  1. Клиентот на безработен клиент PC кликнува на копчето за социјален влез (на пример, "Подпишете се со Google").
  2. Клиентот испраќа барање за започнување на OAuth на серверот.
  3. Серверот се контактира со крајната точка за овластување на уредот на провајдерот и добива код за уредот, кориснички код и верификација URL.
  4. Клиентот ги прикажува QR кодот и корисничкиот код на безработен екран.
  5. Клиентот го сканира кодот QR со својот телефон и го потврдува автентичноста со провајдерот.
  6. Серверот го испитува провајдерот додека не се заврши аутентификацијата.
  7. Серверот создава барање за влез OAuth кое се појавува на страницата За барања.
  8. admin или касиер го одобрува барањето.
  9. Се создава нова сметка за член (или се поврзува веќе постоечка сметка) и клиентот се влегува.

Како да се воспостави Google OAuth

Google е најчесто користен провајдер. Овој дел ги опфаќа сите чекори од креирање на проектот Google Cloud до тестирање на првиот влез.

Дел А: Создавање на Google облачни акредитации

  1. Отворете Google облачна конзола на https://console.cloud.google.com во вашиот прелистувач.
  2. Направете нов проект или изберете постоечки. Наречете го нешто препознатливо како "HandyCafe OAuth".
  3. Навигирајте конAPIs & Services > OAuth екран на согласност.
  4. ИзберетеExternalкако тип на корисникот (освен ако имате Google организација на работното место и сакате само внатрешно).
  5. Пополнете ги потребните полиња: име на апликацијата ("Име на вашето кафе"), имејл за поддршка на корисниците и имејл за контакт на програмерите.
  6. Кликнете наЗачувајте и продолжитепреку секциите Скопи и тестирање на корисниците. Не е потребно да се додадат посебни скопи. Стандардната електронска пошта и профилните скопи се доволни.
  7. Навигирајте конAPIs & Services > Кредициали.
  8. Кликнете наСоздавање на акредитиви > OAuth клиент ID.
  9. За типот на апликација, изберетеTVs and Limited Input devices. Ова е критично. HandyCafe го користи потокот на доделување дозвола за уредот, кој го бара овој специфичен тип клиент.
  10. Внесете име за клиентот (на пример, "HandyCafe Device Flow").
  11. Кликнете наСоздадете.
  12. Копирајте гоКлиент IDиКлиент тајнаод дијалогот за потврда. Зачувајте ги безбедно. Ќе ви бидат потребни и двете вредности во следниот дел.

Дел Б: Конфигурирање на HandyCafe Server

  1. Отворете ја апликацијата HandyCafe Server.
  2. Навигирајте конПоставкикористејќи ја иконата за менувач во левата страна на лентата.
  3. Изберете ја табелатаOAuth.
  4. Активирајте го пребарувањетоOAuthна врвот на страницата. Ова глобално овозможува социјален логин преку сите клиенти PCs.
  5. Најдете редGoogleна провајдерот во листата на провајдерите.
  6. Обезбедете го Google прекинот за да го активирате овој провајдер.
  7. Вклучете го вашиотКлиент IDод чекор 12 во полето Клиент ID.
  8. Вклучете го Вашиот Секрет на Клиентот од чекор 12 во полето Секрет на Клиентот.
  9. Кликнете наСочувајтеза да ја примените конфигурацијата.

**Очекуваниот резултат:**На OAuth табката покажува Google како вклучен со вашите доверливи податоци пополнети.

Дел C: Проверка на влезот

  1. Отидете на поврзан клиент PC. На безработниот екран сега треба да се покаже секција за социјален влез со копче за влез Google.
  2. Кликнете на копчето за влезGoogleна екранот на клиентот.
  3. Клиентот ги прикажува QR кодот и корисничкиот код (кратка алфанумеричка низа).
  4. Сканирајте го QR кодот со вашиот телефон и ќе ја отвори страницата за проверка на Google.
  5. Приклучете се со сметка Google и внесете го корисничкиот код кога ќе бидете замолени.
  6. Оторизирајте ја апликацијата.

**Очекуваниот резултат:**На серверот се игра звук на известување и се појавува нова запис на страницата барања.


Како да се одобри барање за влез

Секој OAuth влез генерира барање кое мора да биде одобрено од admin или касиер пред клиентот да добие пристап.

  1. Кога ќе пристигне барање за влез, на серверот ќе се игра звук на известување и ќе се појави значка на иконата за барања на страницата во страничната лента.
  2. Навигирајте на страницата за барања.
  3. Во трајно барање се покажува:
    • Име на провајдерот (на пример, Google).
    • Покажете го името на провајдерот (на пример, "Джон Смит").
    • Електронна адреса (на пример, "john@example.com").
    • Клиентот PC кој ја инициирал барањето (име на хостот или име на прикажањето).
    • Временски печат.
  4. Проверете ги деталите на барањето. Проверете дали лицето на клиентот PC одговара на информациите за сметката.
  5. Кликнете наОдоверувајтеза да ја прифатите барањето.

**Очекуваниот резултат:**Ако нема постоечки членски акаунт поврзан со овој OAuth идентитет, автоматски се создава нов членски акаунт. Се користи името на дисплејот и е-поштата од провајдерот. Клиентот се пријавува и клиентот PC преминава од безработен екран на онлајн страницата. Ако членската сметка претходно била поврзана со овој OAuth идентитет, постоечкиот член се влегува директно.

Совет:Ако барањето за влез е сомнително (на пример, PC е ненабљудувано или барањето изгледа автоматско), кликнете наОтфрлајтенаместо тоа.


Како да се воспостави Facebook OAuth

  1. Отворете портал за програмери на Фејсбук на https://developers.facebook.com .
  2. Создадете нова апликација. Изберете тип на апликацијаПотребител.
  3. Навигирајте до страницата на апликацијатаПоставки > Основни. Забележете наApp IDиApp Secret.
  4. Навигирајте конДодадете производи додадетеFacebook Логин за Уреди.
  5. Во поставките за влез на Фејсбук за уреди, додадете ги УРИ за пренасочување ако го бара порталот.
  6. Отворете го HandyCafe Server и насочете се доПоставки > OAuth.
  7. Лоцирајте ја реката на "Фејсбук" провајдер.
  8. Активирајте ја пребарувањето на Фејсбук.
  9. Вклучете гоApp IDво полето Клиент ID.
  10. Вложи ја тајната на апликацијата во полето тајна на клиентот.
  11. Кликнете на Зачувување.

**Очекуваниот резултат:**Facebook се појавува како вклучен провајдер. Клиентите на безработни екрани покажуваат копче за влез во Facebook заедно со сите други вклучени провајдери.


Како да се воспостави Discord OAuth

  1. Отворете го порталот за развој на Discord на https://discord.com/developers/applications .
  2. Направете нова апликација и ја именувајте по кафето.
  3. Навигирајте кон секцијатаOAuth2во левата страна.
  4. Копирајте гоКлиент IDи генерирајтеКлиент тајна. Зачувајте ја тајната безбедно бидејќи Discord ја прикажува само еднаш.
  5. Отворете го HandyCafe Server и насочете се доПоставки > OAuth.
  6. Најдете редDiscordдавател (обезвреден е по стандардно).
  7. Активирајте ја прекината на Discord.
  8. Вклучете гоКлиент IDво полето Клиент ID.
  9. Вклучете ја тајната на клиентот во полето тајна на клиентот.
  10. Кликнете на Зачувување.

**Очекуваниот резултат:**Discord сега е достапна како опција за влез на екраните на клиентот.


Како да дозволите влез без кредит

По стандардно, HandyCafe им овозможува на OAuth-автентизирани клиенти да се пријават дури и ако немаат паричник баланс или временски кредит. Можете да го промените ова однесување.

  1. Навигирајте конПоставки > OAuth.
  2. Лоцирајте ја пребарувањетоДозволете влез без кредит.
  3. Ако е овозможено (по претпоставка), клиентите кои се автентикуваат преку OAuth можат да се пријават без оглед на нивниот баланс.
  4. Ако сте оневозможени, клиентите мора да имаат или паричники или кредити за време за да се пријават.
  5. Кликнете наЗачувајтеоткако ќе ја смените прекинувачот.

**Очекуваниот резултат:**Поведбата влегува во сила веднаш за нови барања за влез.


Како да се поврзе OAuth идентитет со постоечки член

Ако клиентот веќе има членска сметка (создадена рачно од касиер) и потоа се влегува преку OAuth за прв пат, процесот на одобрување може да го поврзе идентитетот на OAuth со постоечкиот профил.

  1. Кога барањето за влез на OAuth ќе пристигне на страницата За барања, проверете дали е-поштата одговара на постоечки член.
  2. Ако системот открие натпревар, дијалогот за одобрување ќе понуди да се поврзе идентитетот на OAuth со постоечкиот член наместо да се создаде нова сметка.
  3. Потврдете го барањето со избраната опција за поврзување.

**Очекуваниот резултат:**Постојаниот членски акаунт добива OAuth линк.


Обичните грешки кои треба да ги избегнуваме

  • **Користење на погрешниот тип клиент OAuth во Google Cloud Console.**Мора да изберете "Телевизори и ограничени уреди за влез" кога креирате клиент OAuth ID. Ако изберете "Веб апликација" или "Десктоп апликација", потокот на овластување на уредот нема да работи и клиентот нема да добие код на уредот.
  • **Заборавувањето да се активира глобалниот OAuth прекинувач.**Не е доволно да се активираат поединечни провајдери.
  • **Не одобрување на барањата за влез.**OAuth влезби бараат експлицитно одобрување од серверот. Ако никој не ја следи страницата за барања, клиентите ќе чекаат неопределено време на безработниот екран. Размислете за доделување на касиер за следење на барањата за време на зафатени часови.
  • **Одворање на кодовите на уредот истекува.**Кодовите на уредот имаат ограничен живот (обично 5-10 минути). Ако клиентот трае премногу време за да го сканира QR кодот и да го аутентизира, кодот истекува и тие мора да почнат повторно.
  • **Префрлање на акредитивите со дополнително бело пространство.**Кога го копирате Клиентот ID или Клиентот Секрет од конзолата на провајдерот, осигурајте дека не се вклучени водечки или следниве простори.
  • **Заборавете да ја објавите Google OAuth апликацијата.**Google апликации во режим "Тестовање" дозволуваат само ограничен број на тестови корисници. За да му овозможи на секој клиент да се пријави, мора да ја објавите апликацијата преку страницата за согласност на OAuth и да ги завршите сите потребни чекори за проверка.
  • **Смешање на Клиентот ID и Клиентот тајна.**Ова се две различни вредности. Клиентот ID е јавен. Клиентот тајна мора да се одржи доверливо.
  • **Не се конфигурира името на кафето.**Името на кафето од поставките на HandyCafe се прикажува на екранот на клиентот во текот на потокот OAuth. Празно или стандардно име изгледа непрофесионално. Постави го името на кафето во Поставки > Општа пред да го вклучите OAuth.