Биллинговая система Nodeny

Главная категория => Модули NodenyPlus => Тема начата: Efendy от 16 Октября 2018, 17:45:31



Название: Google авторизация
Отправлено: Efendy от 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 - не зря я ваши имайлы запрашивал


Название: Re: Google авторизация
Отправлено: Pa4ka от 16 Октября 2018, 23:54:55
Большое спасибо за проделанную работу, очень пригодиться.


Название: Re: Google авторизация
Отправлено: md5 от 17 Октября 2018, 10:24:51
Спасибо!


Название: Re: Google авторизация
Отправлено: WideAreaNetwork от 17 Октября 2018, 10:58:12
спс, очень круто)


Название: Re: Google авторизация
Отправлено: tom от 18 Октября 2018, 13:39:31
Вітаю. Статс, є конпка доната у тебе?


Название: Re: Google авторизация
Отправлено: Efendy от 18 Октября 2018, 13:58:40
Можно сделать в Fondy


Название: Re: Google авторизация
Отправлено: md5 от 25 Декабря 2019, 13:13:14
Чего то не могу автоматизироваться. Доп поле _email добавил. В поле добавил email


Название: Re: Google авторизация
Отправлено: Efendy от 27 Декабря 2019, 13:07:39
чтобы увидеть дебаг в /usr/local/nodeny/cgi-bin/stat.pl замени

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


Название: Re: Google авторизация
Отправлено: md5 от 12 Января 2020, 19:06:00
чтобы увидеть дебаг в /usr/local/nodeny/cgi-bin/stat.pl замени

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



Название: Re: Google авторизация
Отправлено: k291 от 13 Января 2020, 03:11:33
Надо сделать в консоли:
Код:
perl -MCPAN -e 'install LWP::Authen::OAuth2'
И убедится в наличии директории LWP/Authen/OAuth2 и файлов в папке perl.
А также проверить права на файлы модуля


Название: Re: Google авторизация
Отправлено: md5 от 13 Января 2020, 05:23:08
С правами все хорошо

LWP::Authen::OAuth2  установлен


Название: Re: Google авторизация
Отправлено: Efendy от 13 Января 2020, 11:53:42
Покажи больше лога, пару строк до ошибки


Название: Re: Google авторизация
Отправлено: md5 от 14 Января 2020, 00:08:44
Вот


Название: Re: Google авторизация
Отправлено: k291 от 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.


Название: Re: Google авторизация
Отправлено: Efendy от 14 Января 2020, 12:42:24
Не. Написано, что для новых проектов гугл не разрешает использовать старое api. Надо мне читать доку по новому апи и переписывать на него(


Название: Re: Google авторизация
Отправлено: md5 от 15 Января 2020, 02:16:08
ну тогда как бв наверное нужно поправить это все дело


Название: Re: Google авторизация
Отправлено: Efendy от 16 Января 2020, 14:53:48
Обнови модуль


Название: Re: Google авторизация
Отправлено: k291 от 17 Января 2020, 00:18:26
Предположу, что в настройках админа, надо добавить поле e-mail, которое будет связано с доп.полем. Чтобы админы могли заходить через google авторизацию.


Название: Re: Google авторизация
Отправлено: Efendy от 17 Января 2020, 11:37:27
Нет, в текущей реализации админ не может залогиниться


Название: Re: Google авторизация
Отправлено: Jovani от 01 Апреля 2021, 10:17:46
Никто не думал написать модуль ОТР авторизации или Google Authentification?


Название: Re: Google авторизация
Отправлено: goletsa от 01 Апреля 2021, 10:56:58
Никто не думал написать модуль ОТР авторизации или Google Authentification?
Плюсую вопрос TOTP для административных учеток.
Можно без гугла, просто чтобы был еще один фактор.


Название: Re: Google авторизация
Отправлено: Jovani от 01 Апреля 2021, 11:21:24
И еще очень нужна функция "Hide" скрытия балансов админов... Чтоб возле баланса был глазик, который при нажатии , вместо цифр появляются звездочки а в обратном порядке.