Re[14]: OAuth2 openmt 3.0.4 for facebook, vk.com etc

2015-04-08 Пенетрантность Alexey Terekhov
с 3.0.5.r1672122 у меня беда.

удалил 3.0.4 поставил 3.0.5
не могу добавить или изменить пользователя выкидывает на internal error

ставил с mysql использовал и mysql-connector-java-5.1.34 и 35 
устанавливал без базы то же самое.

не могу регистрировать, добавлять, изменять пользователей.

однако настройки конфигурации и oauth2 менять можно.



---
С уважением, Алексей Терехов.
+7 926 076 15 20

Среда,  8 апреля 2015, 21:55 +06:00 от Maxim Solodovnik solomax...@gmail.com:
 может надо просто прав (Permissions) добавить:
 
 https://api.yandex.com/oauth/doc/dg/tasks/register-client.xml
 
 
 
 2015-04-08 21:44 GMT+06:00 Maxim Solodovnik solomax...@gmail.com:
 
 
 
  отлично, спасибо
 
  правильно ли я понимаю что яндекс не отдаёт email?
 
 
 
  2015-04-08 21:08 GMT+06:00 Alexey Terekhov deadl...@mail.ru:
 
 
 
   Понял :)
 
 
 
  Вот ответ с какой-то инфой на те запросы.
 
  Если нужно, могу от разных логинов инфу скинуть.
 
 
 
  yandex:
 
  {first_name: \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440,
 
  last_name: \u041c\u0430\u043b\u044e\u0442\u0438\u043d, display_name:
 
  \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440
 
  \u041c\u0430\u043b\u044e\u0442\u0438\u043d, emails: [],
 
  old_social_login: uid-3qmd6pky, default_email: , real_name:
 
  \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440
 
  \u041c\u0430\u043b\u044e\u0442\u0438\u043d, birthday: 1982-03-12,
 
  default_avatar_id: 312668714, login: uid-3qmd6pky, sex: male,
 
  id: 312668714}/td/tr/table
 
 
 
  google:
 
  {
 
  id: 100571430989931346920,
 
  email: coaching@gmail.com,
 
  verified_email: true,
 
  name: Коучинг Центр,
 
  given_name: Коучинг,
 
  family_name: Центр,
 
  link: https://plus.google.com/100571430989931346920;,
 
  picture: 
 
  https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAI/AAA/4252rscbv5M/photo.jpg
 
  ,
 
  gender: male,
 
  locale: ru
 
  }
 
 
 
  facebook:
 
  {id:869800643078717,email:dead\u0040mail.ru
 
  ,first_name:Alexey,gender:male,last_name:Terekhov,link:https:\/\/
 
  www.facebook.com\/app_scoped_user_id\/869800643078717\/,locale:ru_RU,name:Alexey
 
  Terekhov,timezone:3,updated_time:2015-04-06T14:25:40+,verified:true}/td/tr/table
 
 
 
 
 
  ---
 
  С уважением, Алексей Терехов.
 
  +7 926 076 15 20
 
 
 
  Среда,  8 апреля 2015, 20:45 +06:00 от Maxim Solodovnik 
 
  solomax...@gmail.com:
 
  по правде говоря хотелось бы получить нормальный список параметров
 
  позволяющих получить
 
  login (username)
 
  email
 
  first name
 
  last name
 
  
 
  если есть какие-то другие полезные поля то и их тоже
 
  хаки не очень интересны, нужно не обходить, а решать проблему
 
  
 
  2015-04-08 19:39 GMT+06:00 Alexey Terekhov  deadl...@mail.ru :
 
  
 
  
 
   `oauth_servers`
 
   1. В место email указываю id, чтобы не было конфликтов. работает.
 
   login_param_name указываю id. (эх, сюда бы префикс в начало...)
 
   если id совпадут будет ошибка. :(
 
  
 
   2. В яндеск при подключении нужно открыть доступ к яндекс.паспорт,
 
  иначе
 
   яндекс не даст first_name и т.п. и будет ошибка.
 
  
 
   Этот общий для всех!!!
 
  
 
  
 
  `request_token_attributes`='code={$code}client_id={$client_id}client_secret={$client_secret}redirect_uri={$redirect_uri}grant_type=authorization_code'
 
  
 
   Название
 
   `firstname_param_name`, `lastname_param_name`, `email_param_name`,
 
   `login_param_name`,
 
   `request_info_url`,
 
   `request_key_url`,
 
   `request_token_url`
 
  
 
   Yandex
 
   'first_name', 'last_name', 'id', 'id',
 
   ' https://login.yandex.ru/info?format=jsonoauth_token={$access_token
 
  }'
 
   '
 
  
 
  https://oauth.yandex.ru/authorize?response_type=codeclient_id={$client_id
 
  }
 
   '
 
   ' https://oauth.yandex.ru/token '
 
  
 
   Google
 
   'given_name', 'family_name', 'id', 'id'
 
   '
 
  
 
  https://www.googleapis.com/oauth2/v1/userinfo?access_token={$access_token
 
  }
 
   '
 
   '
 
  
 
  https://accounts.google.com/o/oauth2/auth?redirect_uri={$redirect_uri}response_type=codeclient_id={$client_id}scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile
 
  https://accounts.google.com/o/oauth2/auth?redirect_uri=%7B$redirect_uri%7Dresponse_type=codeclient_id=%7B$client_id%7Dscope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile
 
   '
 
   ' https://accounts.google.com/o/oauth2/token '
 
  
 
   Facebook
 
   'first_name', 'last_name', 'id', 'id'
 
   ' https://graph.facebook.com/me?access_token={$access_token }'
 
   '
 
  
 
  https://www.facebook.com/dialog/oauth?client_id={$client_id}redirect_uri={$redirect_uri}scope=emailresponse_type=code
 
   '
 
   ' https://graph.facebook.com/v2.3/oauth/access_token '
 
  
 
   ---
 
   С уважением, Алексей Терехов.
 
   +7 926 076 15 20
 
  
 
   Среда,  8 апреля 2015, 17:58 +06:00 от Maxim Solodovnik 
 
solomax...@gmail.com :
 
   ну я жду тогда параметры
 
   

Re: Re[8]: OAuth2 openmt 3.0.4 for facebook, vk.com etc

2015-04-08 Пенетрантность Maxim Solodovnik
ну я жду тогда параметры
добавляю это всё в параметры по умолчанию и заливаю

строю билд и можно тестить :)
у меня почти всё проверить не выйдет так что буду рад помощи с тестированием
билд появится тут:
https://builds.apache.org/view/M-R/view/OpenMeetings/job/Openmeetings%203.0.x/


2015-04-08 17:41 GMT+06:00 Alexey Terekhov deadl...@mail.ru:

 Ура... нашел нужный запрос для facebook!!!
  вот корректный, в настройках по умолчанию старый, который дает
 access_token не json как все, а в виде параметра url.
 https://graph.facebook.com/v2.3/oauth/access_token; - это вернет
 access_token в json

  Ok. сейчас этим и занимаюсь. :)
 инфы готовой много, нужно проверять и хочу собрать в короткий формат.

 но в целом вот сложности:

 vk.com возвращает данные в виде:
 response:   [ {  uid:   205387401 ,  first_name:   'Tom' ,  last_name:
 'Cruise'  } ]
 ! нужно из ответа убрать убрать первых 11 символов и последний.
 возможно найду вариант в другом формате получить, например xls.

 mail.ru и (одноклассники) для запроса данных просит sing
 который нужно ГЕНЕРИРОВАТЬ

 sign=hex_md5('app_id={client_id}method=users.getInfosecure=1session_key={access_token}{secret_key}')

 1. Чуть позже скину свои настройки для сетей (facebook, yandex, google).

 2. С vk.com и mail.ru скорее всего через костыль, вряд ли есть смысл под
 них что-то делать в OM.
 возможно эти системы когда-нибудь сделают нормальный ответ и их можно
 будет прописать.

 3. Доп. параметры, пол, день рождение, телефон и прочее, что возвращают
 сети
 прошу добавить их в бушующих версиях.
 + или какая-нибудь копка в профиле заполнить данные из соц.сети (если вход
 через сеть).

 ---
 С уважением, Алексей Терехов.
 +7 926 076 15 20

 Среда,  8 апреля 2015, 16:38 +06:00 от Maxim Solodovnik 
 solomax...@gmail.com:
 ну Вы напишите какие поля какой провайдер предоставляет и как они
 называются (если это возможно) и я поправлю чтобы нормально работало
 
 2015-04-08 15:05 GMT+06:00 Alexey Terekhov  deadl...@mail.ru :
 
   Спасибо за ответы!!!
 
  Получается так:
  1. OAutch - в целом работает хорошо, однако желательно в будущем
 улучшить
  обработчик ошибок.
  internal error поменять, на что-нибудь более понятное.
 
  2. Для кривых соц.сетей использовать внешний обработчик который вернет
  системе поля: login,email,fist_name,last_name.
  * было бы неплохо расширить список полей обрабатываемых от OAuth2 (тел
 для
  sms,дата рождения и т.п.)
 
  3. Думаю для входа через OAutch 3.0.4 сегодня можно и нужно! прописать
  префиксы сети к login
  так как два одинаковых логин приведут к internal error.
  а поле email делать пустым, это должно решить вопрос с входом из
 соц.сетей
  но мы теряем связь с этими пользователями, нет возможности им написать
 на
  email.
  или попробовать добавить к email префикс - но такой адрес может не
 пройти
  валидацию и привести к новым ошибкам.
 
  ! в 3.0.2 пользователь может менять в профиле emal адрес на любой
  свободный.
 
  + думаю необходим flag в config разрешающий использовать одинаковые
 email
  для разных типов входов
  и идентифицировать их как разных пользователей в системе.
  сопоставлять при авторизации e-mail с типом входа.
  то есть, может быть N одинаковых e-mail для N разных типов входов -
 каждый
  тип входа + email уникальный аккаунт.
 
  + в последствии реализовать в профиле управление входами, объединение
  аккаунтов с различных входов.
 
  Ушел дописывать свой костыль, думаю добавить вход через mail.ru.
  если кому-нибудь интересе вход, еще через что-нибудь кроме:
  yandex,google,facebook,vk.com,mail.ru - пишите.
  так как мне этих 5 систем хватит.
 
  По результату, думаю завтра, опишу свои настройки OAuth2 для нормальных
  сетей и входы/обработка/выводы костыля для кривых
  может кому-нибудь пригодится.
 
  ---
  С уважением, Алексей Терехов.
  +7 926 076 15 20
 
  Среда,  8 апреля 2015, 11:52 +06:00 от Maxim Solodovnik 
   solomax...@gmail.com :
  1) по поводу ошибки я думаю что вот это
   https://issues.apache.org/jira/browse/OPENMEETINGS-1196 она
  
  2) логин с одним мылом и разными провайдерами - хороший вопрос, надо
  подумать
  
  3) request_method может быть 0 == post и 1 == get. тут недоглядели,
 надо
  было сохранять этот енум по именам
  
  4) доп поля, сейчас не достаются, но это можно, patches are welcome :)
  
  ну я так думаю что internal error надо починить к релизу 3.0.5 (будет
  через
  неделю примерно) а остальное подумать и сделать к следующей версии
  помощь в тестировании будет очень кстати :)
  
  2015-04-08 7:13 GMT+06:00 Alexey Terekhov   deadl...@mail.ru :
  
Доброй ночи.
  
   в OM 3.0.4
   google работает прописал ключи и в путь...
   yandex нужно изменить 'email_param_name' и 'login_param_name' с
   'default_email' на 'login'. (так как в ответе от яндекса нет
  default_email).
  
   facebook, vk.com решил через костыль. :)
  
   в admin/oauth2
   request_key_url=http://localhost/crutch.php
  
  
 
 

Re: custom room type

2015-04-08 Пенетрантность Maxim Solodovnik
я не понял вопроса

2015-04-08 13:44 GMT+06:00 Vladislav Vodopyan v.vodop...@team-service.ru:

 Доброго дня.

 Подскажите, такой тип комнаты можно сделать только путем пересборки из
 исходников? Или можно на уже собранном ОМ как-то сделать?

 Спасибо.




-- 
WBR
Maxim aka solomax


Re: custom room type

2015-04-08 Пенетрантность Vladislav Vodopyan
http://openmeetings.apache.org/CustomRoomTypeHowTo.html

Я правильно понимаю, что чтобы сделать описанное, нужно пересобирать ОМ
из исходников?

08.04.2015 12:57, Maxim Solodovnik пишет:
 я не понял вопроса

 2015-04-08 13:44 GMT+06:00 Vladislav Vodopyan v.vodop...@team-service.ru:

 Доброго дня.

 Подскажите, такой тип комнаты можно сделать только путем пересборки из
 исходников? Или можно на уже собранном ОМ как-то сделать?

 Спасибо.






Re: Re[6]: OAuth2 openmt 3.0.4 for facebook, vk.com etc

2015-04-08 Пенетрантность Maxim Solodovnik
ну Вы напишите какие поля какой провайдер предоставляет и как они
называются (если это возможно) и я поправлю чтобы нормально работало

2015-04-08 15:05 GMT+06:00 Alexey Terekhov deadl...@mail.ru:

  Спасибо за ответы!!!

 Получается так:
 1. OAutch - в целом работает хорошо, однако желательно в будущем улучшить
 обработчик ошибок.
 internal error поменять, на что-нибудь более понятное.

 2. Для кривых соц.сетей использовать внешний обработчик который вернет
 системе поля: login,email,fist_name,last_name.
 * было бы неплохо расширить список полей обрабатываемых от OAuth2 (тел для
 sms,дата рождения и т.п.)

 3. Думаю для входа через OAutch 3.0.4 сегодня можно и нужно! прописать
 префиксы сети к login
 так как два одинаковых логин приведут к internal error.
 а поле email делать пустым, это должно решить вопрос с входом из соц.сетей
 но мы теряем связь с этими пользователями, нет возможности им написать на
 email.
 или попробовать добавить к email префикс - но такой адрес может не пройти
 валидацию и привести к новым ошибкам.

 ! в 3.0.2 пользователь может менять в профиле emal адрес на любой
 свободный.

 + думаю необходим flag в config разрешающий использовать одинаковые email
 для разных типов входов
 и идентифицировать их как разных пользователей в системе.
 сопоставлять при авторизации e-mail с типом входа.
 то есть, может быть N одинаковых e-mail для N разных типов входов - каждый
 тип входа + email уникальный аккаунт.

 + в последствии реализовать в профиле управление входами, объединение
 аккаунтов с различных входов.

 Ушел дописывать свой костыль, думаю добавить вход через mail.ru.
 если кому-нибудь интересе вход, еще через что-нибудь кроме:
 yandex,google,facebook,vk.com,mail.ru - пишите.
 так как мне этих 5 систем хватит.

 По результату, думаю завтра, опишу свои настройки OAuth2 для нормальных
 сетей и входы/обработка/выводы костыля для кривых
 может кому-нибудь пригодится.

 ---
 С уважением, Алексей Терехов.
 +7 926 076 15 20

 Среда,  8 апреля 2015, 11:52 +06:00 от Maxim Solodovnik 
 solomax...@gmail.com:
 1) по поводу ошибки я думаю что вот это
 https://issues.apache.org/jira/browse/OPENMEETINGS-1196 она
 
 2) логин с одним мылом и разными провайдерами - хороший вопрос, надо
 подумать
 
 3) request_method может быть 0 == post и 1 == get. тут недоглядели, надо
 было сохранять этот енум по именам
 
 4) доп поля, сейчас не достаются, но это можно, patches are welcome :)
 
 ну я так думаю что internal error надо починить к релизу 3.0.5 (будет
 через
 неделю примерно) а остальное подумать и сделать к следующей версии
 помощь в тестировании будет очень кстати :)
 
 2015-04-08 7:13 GMT+06:00 Alexey Terekhov  deadl...@mail.ru :
 
   Доброй ночи.
 
  в OM 3.0.4
  google работает прописал ключи и в путь...
  yandex нужно изменить 'email_param_name' и 'login_param_name' с
  'default_email' на 'login'. (так как в ответе от яндекса нет
 default_email).
 
  facebook, vk.com решил через костыль. :)
 
  в admin/oauth2
  request_key_url=http://localhost/crutch.php
 
 
 request_token_attributes=code={$code}client_id={$client_id}client_secret={$client_secret}redirect_uri={$redirect_uri}
  request_token_url=
 http://localhost/crutch.php?access_token={$access_token}
  OM обращается к моему скрипту php, скрипт
  на запрос 1 POST. возвращает access_token в JSON формате
  на запрос 2 GET. возвращает login,email,firs_name,last_name в JSON
 формате
 
  задача скрипта получить данные от соц. сетей и вернуть их в нужном
  формате в OpenMeeting.
 
  Думаю это важный BUG или ВОПРОС:
  по Русски:
  если я зарегистрировался через email + login + password, то попытка
 зайти
  через соц.сеть в которой указан мой email
  приведет к internat error!
  к тому же приведет если в ответе от соц. сети будет login который уже
 есть
  в системе = internat error.
 
  или например у меня один email указан в google и контакте, я смогу
  заходить только через то, через что был первый вход, другую кинет
  в internat error.
 
  = в системе не может быть более одного пользователя с login или email.
  то есть email и login должны быть уникальными, исключение пустые
  (возможно одна запить где email= и login=;
  неограниченно email=, login=random() или email=random(), login=)
  но если login задан, такого второго быть не может!
 
  1. если к логин можно прикрутить префикс, то как быть с email - ВОПРОС.
 
  2. Возможность заходить через e-mail и соц. сети одному и тому же
  пользователю.
  - как идентифицировать, что это один и тот же человек из разных систем,
 а
  не злоумышленник
  зарегился под чужой email в контакте и пробует зайдет с правами админа.
 
  ДОП. ВОПРОСЫ:
  1. В таблице `oauth_servers` есть поле `request_method` типа int
  Используется ли оно, если да, то какие возможны значения?
 
  2. Кроме login,email,firs_name,last_name - может ли система еще
 что-нибудь
  принять, например phone, photo и т.п.
  или нужно в базе через костыль ковыряться?
 
  Мои соображения:
  Я думаю, что тут  ключевым является требования к безопасности и 

Re: custom room type

2015-04-08 Пенетрантность Maxim Solodovnik
да конечно

2015-04-08 16:04 GMT+06:00 Vladislav Vodopyan v.vodop...@team-service.ru:

 http://openmeetings.apache.org/CustomRoomTypeHowTo.html

 Я правильно понимаю, что чтобы сделать описанное, нужно пересобирать ОМ
 из исходников?

 08.04.2015 12:57, Maxim Solodovnik пишет:
  я не понял вопроса
 
  2015-04-08 13:44 GMT+06:00 Vladislav Vodopyan 
 v.vodop...@team-service.ru:
 
  Доброго дня.
 
  Подскажите, такой тип комнаты можно сделать только путем пересборки из
  исходников? Или можно на уже собранном ОМ как-то сделать?
 
  Спасибо.
 
 
 




-- 
WBR
Maxim aka solomax


Re[8]: OAuth2 openmt 3.0.4 for facebook, vk.com etc

2015-04-08 Пенетрантность Alexey Terekhov
Ура... нашел нужный запрос для facebook!!!
 вот корректный, в настройках по умолчанию старый, который дает access_token не 
json как все, а в виде параметра url.
https://graph.facebook.com/v2.3/oauth/access_token; - это вернет access_token 
в json

 Ok. сейчас этим и занимаюсь. :)
инфы готовой много, нужно проверять и хочу собрать в короткий формат.

но в целом вот сложности:

vk.com возвращает данные в виде:
response:   [ {  uid:   205387401 ,  first_name:   'Tom' ,  last_name:   
'Cruise'  } ]
! нужно из ответа убрать убрать первых 11 символов и последний.
возможно найду вариант в другом формате получить, например xls.

mail.ru и (одноклассники) для запроса данных просит sing
который нужно ГЕНЕРИРОВАТЬ
sign=hex_md5('app_id={client_id}method=users.getInfosecure=1session_key={access_token}{secret_key}')

1. Чуть позже скину свои настройки для сетей (facebook, yandex, google).

2. С vk.com и mail.ru скорее всего через костыль, вряд ли есть смысл под них 
что-то делать в OM.
возможно эти системы когда-нибудь сделают нормальный ответ и их можно будет 
прописать.

3. Доп. параметры, пол, день рождение, телефон и прочее, что возвращают сети 
прошу добавить их в бушующих версиях.
+ или какая-нибудь копка в профиле заполнить данные из соц.сети (если вход 
через сеть).

---
С уважением, Алексей Терехов.
+7 926 076 15 20

Среда,  8 апреля 2015, 16:38 +06:00 от Maxim Solodovnik solomax...@gmail.com:
ну Вы напишите какие поля какой провайдер предоставляет и как они
называются (если это возможно) и я поправлю чтобы нормально работало

2015-04-08 15:05 GMT+06:00 Alexey Terekhov  deadl...@mail.ru :

  Спасибо за ответы!!!

 Получается так:
 1. OAutch - в целом работает хорошо, однако желательно в будущем улучшить
 обработчик ошибок.
 internal error поменять, на что-нибудь более понятное.

 2. Для кривых соц.сетей использовать внешний обработчик который вернет
 системе поля: login,email,fist_name,last_name.
 * было бы неплохо расширить список полей обрабатываемых от OAuth2 (тел для
 sms,дата рождения и т.п.)

 3. Думаю для входа через OAutch 3.0.4 сегодня можно и нужно! прописать
 префиксы сети к login
 так как два одинаковых логин приведут к internal error.
 а поле email делать пустым, это должно решить вопрос с входом из соц.сетей
 но мы теряем связь с этими пользователями, нет возможности им написать на
 email.
 или попробовать добавить к email префикс - но такой адрес может не пройти
 валидацию и привести к новым ошибкам.

 ! в 3.0.2 пользователь может менять в профиле emal адрес на любой
 свободный.

 + думаю необходим flag в config разрешающий использовать одинаковые email
 для разных типов входов
 и идентифицировать их как разных пользователей в системе.
 сопоставлять при авторизации e-mail с типом входа.
 то есть, может быть N одинаковых e-mail для N разных типов входов - каждый
 тип входа + email уникальный аккаунт.

 + в последствии реализовать в профиле управление входами, объединение
 аккаунтов с различных входов.

 Ушел дописывать свой костыль, думаю добавить вход через mail.ru.
 если кому-нибудь интересе вход, еще через что-нибудь кроме:
 yandex,google,facebook,vk.com,mail.ru - пишите.
 так как мне этих 5 систем хватит.

 По результату, думаю завтра, опишу свои настройки OAuth2 для нормальных
 сетей и входы/обработка/выводы костыля для кривых
 может кому-нибудь пригодится.

 ---
 С уважением, Алексей Терехов.
 +7 926 076 15 20

 Среда,  8 апреля 2015, 11:52 +06:00 от Maxim Solodovnik 
  solomax...@gmail.com :
 1) по поводу ошибки я думаю что вот это
  https://issues.apache.org/jira/browse/OPENMEETINGS-1196 она
 
 2) логин с одним мылом и разными провайдерами - хороший вопрос, надо
 подумать
 
 3) request_method может быть 0 == post и 1 == get. тут недоглядели, надо
 было сохранять этот енум по именам
 
 4) доп поля, сейчас не достаются, но это можно, patches are welcome :)
 
 ну я так думаю что internal error надо починить к релизу 3.0.5 (будет
 через
 неделю примерно) а остальное подумать и сделать к следующей версии
 помощь в тестировании будет очень кстати :)
 
 2015-04-08 7:13 GMT+06:00 Alexey Terekhov   deadl...@mail.ru :
 
   Доброй ночи.
 
  в OM 3.0.4
  google работает прописал ключи и в путь...
  yandex нужно изменить 'email_param_name' и 'login_param_name' с
  'default_email' на 'login'. (так как в ответе от яндекса нет
 default_email).
 
  facebook, vk.com решил через костыль. :)
 
  в admin/oauth2
  request_key_url=http://localhost/crutch.php
 
 
 request_token_attributes=code={$code}client_id={$client_id}client_secret={$client_secret}redirect_uri={$redirect_uri}
  request_token_url=
  http://localhost/crutch.php?access_token={$access_token }
  OM обращается к моему скрипту php, скрипт
  на запрос 1 POST. возвращает access_token в JSON формате
  на запрос 2 GET. возвращает login,email,firs_name,last_name в JSON
 формате
 
  задача скрипта получить данные от соц. сетей и вернуть их в нужном
  формате в OpenMeeting.
 
  Думаю это важный BUG или ВОПРОС:
  по Русски:
  если я зарегистрировался 

custom room type

2015-04-08 Пенетрантность Vladislav Vodopyan
Доброго дня.

Подскажите, такой тип комнаты можно сделать только путем пересборки из
исходников? Или можно на уже собранном ОМ как-то сделать?

Спасибо.


Re[6]: OAuth2 openmt 3.0.4 for facebook, vk.com etc

2015-04-08 Пенетрантность Alexey Terekhov
 Спасибо за ответы!!!

Получается так:
1. OAutch - в целом работает хорошо, однако желательно в будущем улучшить 
обработчик ошибок.
internal error поменять, на что-нибудь более понятное.

2. Для кривых соц.сетей использовать внешний обработчик который вернет 
системе поля: login,email,fist_name,last_name.
* было бы неплохо расширить список полей обрабатываемых от OAuth2 (тел для 
sms,дата рождения и т.п.)

3. Думаю для входа через OAutch 3.0.4 сегодня можно и нужно! прописать 
префиксы сети к login
так как два одинаковых логин приведут к internal error.
а поле email делать пустым, это должно решить вопрос с входом из соц.сетей
но мы теряем связь с этими пользователями, нет возможности им написать на email.
или попробовать добавить к email префикс - но такой адрес может не пройти 
валидацию и привести к новым ошибкам.

! в 3.0.2 пользователь может менять в профиле emal адрес на любой свободный. 

+ думаю необходим flag в config разрешающий использовать одинаковые email для 
разных типов входов
и идентифицировать их как разных пользователей в системе.
сопоставлять при авторизации e-mail с типом входа.
то есть, может быть N одинаковых e-mail для N разных типов входов - каждый тип 
входа + email уникальный аккаунт.

+ в последствии реализовать в профиле управление входами, объединение аккаунтов 
с различных входов.

Ушел дописывать свой костыль, думаю добавить вход через mail.ru.
если кому-нибудь интересе вход, еще через что-нибудь кроме: 
yandex,google,facebook,vk.com,mail.ru - пишите.
так как мне этих 5 систем хватит.

По результату, думаю завтра, опишу свои настройки OAuth2 для нормальных сетей 
и входы/обработка/выводы костыля для кривых
может кому-нибудь пригодится.

---
С уважением, Алексей Терехов.
+7 926 076 15 20

Среда,  8 апреля 2015, 11:52 +06:00 от Maxim Solodovnik solomax...@gmail.com:
1) по поводу ошибки я думаю что вот это
https://issues.apache.org/jira/browse/OPENMEETINGS-1196 она

2) логин с одним мылом и разными провайдерами - хороший вопрос, надо
подумать

3) request_method может быть 0 == post и 1 == get. тут недоглядели, надо
было сохранять этот енум по именам

4) доп поля, сейчас не достаются, но это можно, patches are welcome :)

ну я так думаю что internal error надо починить к релизу 3.0.5 (будет через
неделю примерно) а остальное подумать и сделать к следующей версии
помощь в тестировании будет очень кстати :)

2015-04-08 7:13 GMT+06:00 Alexey Terekhov  deadl...@mail.ru :

  Доброй ночи.

 в OM 3.0.4
 google работает прописал ключи и в путь...
 yandex нужно изменить 'email_param_name' и 'login_param_name' с
 'default_email' на 'login'. (так как в ответе от яндекса нет default_email).

 facebook, vk.com решил через костыль. :)

 в admin/oauth2
 request_key_url=http://localhost/crutch.php

 request_token_attributes=code={$code}client_id={$client_id}client_secret={$client_secret}redirect_uri={$redirect_uri}
 request_token_url=http://localhost/crutch.php?access_token={$access_token}
 OM обращается к моему скрипту php, скрипт
 на запрос 1 POST. возвращает access_token в JSON формате
 на запрос 2 GET. возвращает login,email,firs_name,last_name в JSON формате

 задача скрипта получить данные от соц. сетей и вернуть их в нужном
 формате в OpenMeeting.

 Думаю это важный BUG или ВОПРОС:
 по Русски:
 если я зарегистрировался через email + login + password, то попытка зайти
 через соц.сеть в которой указан мой email
 приведет к internat error!
 к тому же приведет если в ответе от соц. сети будет login который уже есть
 в системе = internat error.

 или например у меня один email указан в google и контакте, я смогу
 заходить только через то, через что был первый вход, другую кинет
 в internat error.

 = в системе не может быть более одного пользователя с login или email.
 то есть email и login должны быть уникальными, исключение пустые
 (возможно одна запить где email= и login=;
 неограниченно email=, login=random() или email=random(), login=)
 но если login задан, такого второго быть не может!

 1. если к логин можно прикрутить префикс, то как быть с email - ВОПРОС.

 2. Возможность заходить через e-mail и соц. сети одному и тому же
 пользователю.
 - как идентифицировать, что это один и тот же человек из разных систем, а
 не злоумышленник
 зарегился под чужой email в контакте и пробует зайдет с правами админа.

 ДОП. ВОПРОСЫ:
 1. В таблице `oauth_servers` есть поле `request_method` типа int
 Используется ли оно, если да, то какие возможны значения?

 2. Кроме login,email,firs_name,last_name - может ли система еще что-нибудь
 принять, например phone, photo и т.п.
 или нужно в базе через костыль ковыряться?

 Мои соображения:
 Я думаю, что тут  ключевым является требования к безопасности и левел
 пользователя в системе.
 например: авторизация через соц. сети доступна только для левел гость.

 если нет особых требований к гостям, то пропускать в систему и
 идентифицировать по email переданному от сети.
 ведь соц. сетях обычно требуют подтверждения email.

 * логин от соц. сетей делать уникальным 

Re: Re[12]: OAuth2 openmt 3.0.4 for facebook, vk.com etc

2015-04-08 Пенетрантность Maxim Solodovnik
может надо просто прав (Permissions) добавить:
https://api.yandex.com/oauth/doc/dg/tasks/register-client.xml

2015-04-08 21:44 GMT+06:00 Maxim Solodovnik solomax...@gmail.com:

 отлично, спасибо
 правильно ли я понимаю что яндекс не отдаёт email?

 2015-04-08 21:08 GMT+06:00 Alexey Terekhov deadl...@mail.ru:

  Понял :)

 Вот ответ с какой-то инфой на те запросы.
 Если нужно, могу от разных логинов инфу скинуть.

 yandex:
 {first_name: \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440,
 last_name: \u041c\u0430\u043b\u044e\u0442\u0438\u043d, display_name:
 \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440
 \u041c\u0430\u043b\u044e\u0442\u0438\u043d, emails: [],
 old_social_login: uid-3qmd6pky, default_email: , real_name:
 \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440
 \u041c\u0430\u043b\u044e\u0442\u0438\u043d, birthday: 1982-03-12,
 default_avatar_id: 312668714, login: uid-3qmd6pky, sex: male,
 id: 312668714}/td/tr/table

 google:
 {
 id: 100571430989931346920,
 email: coaching@gmail.com,
 verified_email: true,
 name: Коучинг Центр,
 given_name: Коучинг,
 family_name: Центр,
 link: https://plus.google.com/100571430989931346920;,
 picture: 
 https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAI/AAA/4252rscbv5M/photo.jpg
 ,
 gender: male,
 locale: ru
 }

 facebook:
 {id:869800643078717,email:dead\u0040mail.ru
 ,first_name:Alexey,gender:male,last_name:Terekhov,link:https:\/\/
 www.facebook.com\/app_scoped_user_id\/869800643078717\/,locale:ru_RU,name:Alexey
 Terekhov,timezone:3,updated_time:2015-04-06T14:25:40+,verified:true}/td/tr/table


 ---
 С уважением, Алексей Терехов.
 +7 926 076 15 20

 Среда,  8 апреля 2015, 20:45 +06:00 от Maxim Solodovnik 
 solomax...@gmail.com:
 по правде говоря хотелось бы получить нормальный список параметров
 позволяющих получить
 login (username)
 email
 first name
 last name
 
 если есть какие-то другие полезные поля то и их тоже
 хаки не очень интересны, нужно не обходить, а решать проблему
 
 2015-04-08 19:39 GMT+06:00 Alexey Terekhov  deadl...@mail.ru :
 
 
  `oauth_servers`
  1. В место email указываю id, чтобы не было конфликтов. работает.
  login_param_name указываю id. (эх, сюда бы префикс в начало...)
  если id совпадут будет ошибка. :(
 
  2. В яндеск при подключении нужно открыть доступ к яндекс.паспорт,
 иначе
  яндекс не даст first_name и т.п. и будет ошибка.
 
  Этот общий для всех!!!
 
 
 `request_token_attributes`='code={$code}client_id={$client_id}client_secret={$client_secret}redirect_uri={$redirect_uri}grant_type=authorization_code'
 
  Название
  `firstname_param_name`, `lastname_param_name`, `email_param_name`,
  `login_param_name`,
  `request_info_url`,
  `request_key_url`,
  `request_token_url`
 
  Yandex
  'first_name', 'last_name', 'id', 'id',
  ' https://login.yandex.ru/info?format=jsonoauth_token={$access_token
 }'
  '
 
 https://oauth.yandex.ru/authorize?response_type=codeclient_id={$client_id
 }
  '
  ' https://oauth.yandex.ru/token '
 
  Google
  'given_name', 'family_name', 'id', 'id'
  '
 
 https://www.googleapis.com/oauth2/v1/userinfo?access_token={$access_token
 }
  '
  '
 
 https://accounts.google.com/o/oauth2/auth?redirect_uri={$redirect_uri}response_type=codeclient_id={$client_id}scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile
 https://accounts.google.com/o/oauth2/auth?redirect_uri=%7B$redirect_uri%7Dresponse_type=codeclient_id=%7B$client_id%7Dscope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile
  '
  ' https://accounts.google.com/o/oauth2/token '
 
  Facebook
  'first_name', 'last_name', 'id', 'id'
  ' https://graph.facebook.com/me?access_token={$access_token }'
  '
 
 https://www.facebook.com/dialog/oauth?client_id={$client_id}redirect_uri={$redirect_uri}scope=emailresponse_type=code
  '
  ' https://graph.facebook.com/v2.3/oauth/access_token '
 
  ---
  С уважением, Алексей Терехов.
  +7 926 076 15 20
 
  Среда,  8 апреля 2015, 17:58 +06:00 от Maxim Solodovnik 
   solomax...@gmail.com :
  ну я жду тогда параметры
  добавляю это всё в параметры по умолчанию и заливаю
  
  строю билд и можно тестить :)
  у меня почти всё проверить не выйдет так что буду рад помощи с
  тестированием
  билд появится тут:
  
 
 https://builds.apache.org/view/M-R/view/OpenMeetings/job/Openmeetings%203.0.x/
  
  
  2015-04-08 17:41 GMT+06:00 Alexey Terekhov   deadl...@mail.ru :
  
   Ура... нашел нужный запрос для facebook!!!
вот корректный, в настройках по умолчанию старый, который дает
   access_token не json как все, а в виде параметра url.
 https://graph.facebook.com/v2.3/oauth/access_token  - это
 вернет
   access_token в json
  
Ok. сейчас этим и занимаюсь. :)
   инфы готовой много, нужно проверять и хочу собрать в короткий
 формат.
  
   но в целом вот сложности:
  
   vk.com возвращает данные в виде:
   response:   [ {  uid:   205387401 ,  first_name:   'Tom' ,
 last_name: