Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

1) Создание приложения на OAuth@mail.

Сначала надо создать приложение на https://oauth.mail.ru/app/ для того, чтобы зарегистрировать redirect URI, которые будут использоваться на сайте платформы iot-core.

Пример:

1.1. Переходим по ссылке https://o2.mail.ru/app/new/

1.2. Вводим "Название проекта":  app_reg_mail

1.4. Вводим все redirect_uri (если их несколько, то в столбик): https://yatest.eltex-co.ru:7788/api/v1/login/oauth2/code/mail-ru

1.5. Ставим галочку в чекбокс: Я ознакомился и принимаю условия Лицензионного соглашения и Правил использования данных

Скрин  №1 заполненного шаблона создания приложения:


1.6. Нажимаем кнопку "Подключить сайт"

1.7.  При необходимости редактируем дополнительные поля и нажимаем "Сохранить изменения".  

Скрин №2 заполненного шаблона создания приложения:


2) Настройка Ansible

Созданные два параметра clientId и clientSecret, надо указать в ansible-iot/vars/default.yml:

default.yml
# Паремтры клиентских регистраций (через соцсети).
clientRegistrations:
  ...
  mailRu:
  clientId: "43214a417211423ca7d643c1a8bd038a"
  clientSecret: "5b12f37b6c4e4a1584a3d405edde94b5"

Так же установить параметр true для  allowSocialNetworks;

Пример конфигурации в default.yml
# Параметры для управления доступностью саморегистрации.
  selfRegistration:
    allow: true
    allowDemo: true
    allowSocialNetworks: true

После заполнения, если платформа была уже запущена, то потребуется остановить платформу;

ansible-playbook stop_iot.yml

Полностью очистите docker от контейнеров и образов платформы;

docker rm -f $(docker ps -a -q); \
docker volume rm -f $(docker volume ls -q); \
docker image rm -f $(docker image ls -q)

из директории с проектом Ansible запустить 

ansible-playbook install_iot.yml

3) Проверка работы

Документация с описанием авторизации и кодами ошибок через OAuth 2.0@Mail находится по ссылке: https://oauth.mail.ru/docs/#web

Пример из запросов:


В случае успешного прохождения авторизации пользователь будет перенаправлен на адреса следующего вида:

2.1. {redirect_uri}?state={some_state}&code={authorization_code}

GET https://yatest.eltex-co.ru:7788/api/v1/oauth2/authorize?redirect_uri=https://yatest.eltex-co.ru:7788/ng/login&response_type=code&client_id=web-client
Status 302 Found

2.2. Если redirect_uri ссылается на localhost, тогда поле state передавать необязательно.

GET https://yatest.eltex-co.ru:7788/ng/login?code=ysKmnlbfMAA2mGZe3r0cRT3RBOmXMYFbzkTIMef0LCDviD_Y8WuoHnnx_FUKjAMefv3eoNyxKbaEJ_M4XkG7cApbAqCPEkPpeY_NYf7wdVSty5eFaegZ-pn5XH_7u3Yo
Status 200 OK


  • Нет меток