Биллинговая система Nodeny
22 Ноября 2024, 01:21:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1] 2
  Печать  
Автор Тема: Google авторизация  (Прочитано 12187 раз)
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« : 16 Октября 2018, 17:45:31 »

Абоненты смогут входить в личный кабинет без ввода логина и пароля. На титульной странице будет предложено 2 варианта входа: через логин/пароль или через Google. Если выберут Google - предложит сделать один клик, после чего Google сообщит биллингу email абонента, по нему будет найдена учетная запись и будет осуществлен вход. Очень удобная схема - абоны постоянно забывают свои учетные данные, а тут даже помнить не надо свой имейл)

В допполях необходимо создать поле _email (либо иное) и указать его в настройках. Можно указать даже не допполе, а например, name - если в вашей сети логины - это email-ы. Кроме того, необходимо немножко поклацать в админпанели гугла. Я сейчас напишу по памяти и могу ошибаться (доку позже напишу):

  • https://console.developers.google.com/apis/credentials
  • Создаем проект, например, NoDeny
  • Кнопка "создать учетные данные"
  • Выбираем "Идентификатор клиента OAuth"
  • Выбираем "Веб-приложение"
  • Разрешенные URI перенаправления: https://ваш домен/cgi-bin/stat.pl?_mod=google

При этом, вероятно вам надо будет подтвердить права на домен (меня попросило, но возможно я не то делал - слишком все запутанно у них там). Еще вам нужны будут Идентификатор клиента и Секрет клиента, которые вносите в настройки NoDeny.

Как это работает можете проверить зайдя в личный кабинет NoDeny - не зря я ваши имайлы запрашивал
Записан
Pa4ka
Старожил
****

Карма: 4
Offline Offline

Сообщений: 281

591884591
Просмотр профиля Email
« Ответ #1 : 16 Октября 2018, 23:54:55 »

Большое спасибо за проделанную работу, очень пригодиться.
Записан
md5
NoDeny
Старожил
*

Карма: 0
Offline Offline

Сообщений: 256

647618
Просмотр профиля
« Ответ #2 : 17 Октября 2018, 10:24:51 »

Спасибо!
Записан
WideAreaNetwork
Старожил
****

Карма: 1
Offline Offline

Сообщений: 358


Просмотр профиля Email
« Ответ #3 : 17 Октября 2018, 10:58:12 »

спс, очень круто)
Записан
tom
Постоялец
***

Карма: 2
Offline Offline

Сообщений: 216


Просмотр профиля
« Ответ #4 : 18 Октября 2018, 13:39:31 »

Вітаю. Статс, є конпка доната у тебе?
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #5 : 18 Октября 2018, 13:58:40 »

Можно сделать в Fondy
Записан
md5
NoDeny
Старожил
*

Карма: 0
Offline Offline

Сообщений: 256

647618
Просмотр профиля
« Ответ #6 : 25 Декабря 2019, 13:13:14 »

Чего то не могу автоматизироваться. Доп поле _email добавил. В поле добавил email
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #7 : 27 Декабря 2019, 13:07:39 »

чтобы увидеть дебаг в /usr/local/nodeny/cgi-bin/stat.pl замени

Код:
$ses::debug = 0;
на
Код:
$ses::debug = 1;
Записан
md5
NoDeny
Старожил
*

Карма: 0
Offline Offline

Сообщений: 256

647618
Просмотр профиля
« Ответ #8 : 12 Января 2020, 19:06:00 »

чтобы увидеть дебаг в /usr/local/nodeny/cgi-bin/stat.pl замени

Код:
$ses::debug = 0;
на
Код:
$ses::debug = 1;

Записан
k291
Старожил
****

Карма: -10
Offline Offline

Сообщений: 455


Просмотр профиля
« Ответ #9 : 13 Января 2020, 03:11:33 »

Надо сделать в консоли:
Код:
perl -MCPAN -e 'install LWP::Authen::OAuth2'
И убедится в наличии директории LWP/Authen/OAuth2 и файлов в папке perl.
А также проверить права на файлы модуля
Записан
md5
NoDeny
Старожил
*

Карма: 0
Offline Offline

Сообщений: 256

647618
Просмотр профиля
« Ответ #10 : 13 Января 2020, 05:23:08 »

С правами все хорошо

LWP::Authen::OAuth2  установлен
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #11 : 13 Января 2020, 11:53:42 »

Покажи больше лога, пару строк до ошибки
Записан
md5
NoDeny
Старожил
*

Карма: 0
Offline Offline

Сообщений: 256

647618
Просмотр профиля
« Ответ #12 : 14 Января 2020, 00:08:44 »

Вот
Записан
k291
Старожил
****

Карма: -10
Offline Offline

Сообщений: 455


Просмотр профиля
« Ответ #13 : 14 Января 2020, 02:50:12 »

Включил Debug.
Нажал "Авторизация через Google"
В появившемся окне "Войдите в аккаунт Google", выбрал аккаунт
В следющем окне билинг сообщает "Произошла временная ошибка. Попробуйте повторить запрос."
Вывод Debug:
Цитировать
Sub: 49 _google.pl::__ANON__
error = "{
\"error\": {
\"code\": 403,
\"message\": \"Legacy People API has not been used in project 996009375597 before or it is disabled. Enable it by visiting http_s://console.developers.google.com/apis/api/legacypeople.googleapis.com/overview?project=996009375597 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.\",
\"status\": \"PERMISSION_DENIED\",
\"details\": [
{
\"@type\": \"type.googleapis.com/google.rpc.Help\",
\"links\": [
{
\"description\": \"Google developers console API activation\",
\"url\": \"http_s://console.developers.google.com/apis/api/legacypeople.googleapis.com/overview?project=996009375597\"
}
]
}
]
}
}
"
error_code = '403'


Если на этой же странице нажать кнопку обновить в браузире, то в Debug:
Цитировать
Sub: 49 _google.pl::__ANON__
OAuth2 error: invalid_grant

Description: Bad Request
at /usr/local/nodeny/web/login/_google.pl line 30.


При переходе по ссылке http_s://console.developers.google.com/apis/api/legacypeople.googleapis.com/overview?project=996009375597 как предлагается выше, на странице выдает ошибку:
Цитировать
Не удалось загрузить страницу.
Не удалось загрузить маршрут /apis/api/legacypeople.googleapis.com/overview?project=nodeny-130120. Повторите попытку.


Согласно документации , устаревший API People не может быть включен для новых проектов. Он автоматически доступен пользователям отключенных API-интерфейсов Google+.
Вместо этого вы можете использовать People API v1 . Нажмите "Включить" по ссылке: http_s://console.developers.google.com/apis/library/people.googleapis.com, чтобы включить API.

Выбрав свой проект в Google, переходим в "Панель управления", "включить API и сервисы".
В предложаном поиске находим и включаем:
Contacts API и Google+ API

В Google+ API, нам сообщают "Чтобы использовать этот API, нужно создать учетные данные.", нажимаем "создать учетные данные"
Какой API вы используете? = People API
Откуда вы будете вызывать API? = Веб сервер
К каким данным вы будете обращаться? = Данные пользователя


Но действия выше не помогают, все равно API Google отвечает PERMISSION_DENIED. Возможно причина в SSL сертификате о letsencrypt.
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #14 : 14 Января 2020, 12:42:24 »

Не. Написано, что для новых проектов гугл не разрешает использовать старое api. Надо мне читать доку по новому апи и переписывать на него(
Записан
Страниц: [1] 2
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!