ну я жду тогда параметры добавляю это всё в параметры по умолчанию и заливаю
строю билд и можно тестить :) у меня почти всё проверить не выйдет так что буду рад помощи с тестированием билд появится тут: 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 > >> >> > >> >> > >> > 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. > >> >> > >> >> * логин от соц. сетей делать уникальным через префиксы. > >> >> > >> >> ! настройка в профиле пользователя для доступности входа из > соц.сетей и > >> >> выбор из каких. > >> >> > >> >> => необходима обработка ошибки доступа при наличии полученного от > соц. > >> >> сети email в базе и запрета на доступ. > >> >> > >> >> P.S. На мой взгляд сегодня решение через "костыль" оптимальное, так > как > >> >> соц. сети отвечают "как хотят", могут менять типы ответов и т.п. > >> >> если кому-нибудь нужно, могу подробно описать как настраивал у себя > >> OAuth2. > >> >> Очень интересуют ответы на доп. вопросы и мысли по авторизации одного > >> >> пользователя из разных систем. > >> >> > >> >> --- > >> >> С уважением, Алексей Терехов. > >> >> +7 926 076 15 20 > >> >> > >> >> Вторник, 7 апреля 2015, 23:46 +03:00 от Alexey Terekhov < > >> >> deadl...@mail.ru >: > >> >> > Добрый вечер. > >> >> > прописал ключи для Google, yandex, facebook, vk.com > >> >> > сделал клон таблицы "oauth_servers" (настройки OAuth2) > >> >> > добавил в таблицу поле damp_answer > >> >> > написал скрипт получение данных использую настройки OAuth2 > >> >> > в damp_answer записал работу моего скрипа (html таблица запросов и > >> >> ответов) > >> >> > после сохранения выгрузки заменил часть ключей на 88888. > >> >> > > >> >> > 1. если я чего случайно не перекрутил у себя, то у меня прописан > был > >> >> след. DEFAULT запрос данных из facebook: > >> >> > > >> >> > >> > https://graph.facebook.com/me?access_token={$access_token}&fields=username,first_name,last_name,email > >> >> > > >> >> > ОН НЕВЕРНЫЙ, username следует изменить на name, иначе (если > оставить > >> >> username, ответ будет NULL) > >> >> > > >> >> > 2. Разный формат ответа на запрос токена > >> >> > google, vk.com, yandex отвечают в формате json: {"a":"X","b":y} > >> >> > facebook отвечает: a=X&b=Y > >> >> > в damp_answer это видно > >> >> > > >> >> > 3. Перегружусь под server и подправлю у себя п.1 и попробую выдрать > >> >> значимую информацию из логов > >> >> > относящуюся к входам fb,vk,yandex. > >> >> > > >> >> > PS. Если нужно могу проверить(сделать damp) другие, например > mail.ru, > >> >> одноклассники и т.п., пишите. > >> >> > > >> >> > > >> >> > Надеюсь приложение пройдет. > >> >> > 1. debugoauth2.html вывод базы > >> >> > 2. oauth_servers.sql экспорт базы > >> >> > > >> >> > --- > >> >> > С уважением, Алексей Терехов. > >> >> > +7 926 076 15 20 > >> >> > > >> >> > Вторник, 7 апреля 2015, 17:54 +03:00 от Alexey Terekhov < > >> >> deadl...@mail.ru >: > >> >> > > > >> >> > >О, супер, спасибо! > >> >> > > > >> >> > > Прописал Google (в OM 3.0.4) - и у меня работает! > >> >> > > > >> >> > >теперь есть шанс понять, что с facebook и т.п. не так. > >> >> > > > >> >> > > > >> >> > >--- > >> >> > >С уважением, Алексей Терехов. > >> >> > > > >> >> > >Вторник, 7 апреля 2015, 18:41 +06:00 от Maxim Solodovnik < > >> >> solomax...@gmail.com >: > >> >> > >>фейсбук и контакт проверить не могу (нет учёток) > >> >> > >>проверял гугел - работает нормально > >> >> > >> > >> >> > >>3.0.3 и 3.0.4 скорее не запустились потому что им для работы > нужна > >> >> java7 > >> >> > >> > >> >> > >>может быть кто-то пробовал настроить и поделится опытом? > >> >> > >> > >> >> > >>2015-04-07 15:44 GMT+06:00 Alexey Terekhov < deadl...@mail.ru > >: > >> >> > >> > >> >> > >>> Добрый день, Сообщество! :) > >> >> > >>> > >> >> > >>> Возникли у меня сложности с OAuth2 (пробовал в 3.0.2 и в 3.0.4 > - > >> не > >> >> решено > >> >> > >>> ) > >> >> > >>> сейчас речь будет о: openmeetings 3.0.4 + MariaDB на Ubuntu > >> 14.04.2 > >> >> server > >> >> > >>> > >> >> > >>> поставлена по инструкции для ububtu-14.04.1-desktop-amd64 > >> >> > >>> ( > >> >> > >>> > >> >> > >> > https://cwiki.apache.org/confluence/download/attachments/27838216/Installation%20OpenMeetings%203.0.x%20on%20Ubuntu%2014.04.pdf?version=6&modificationDate=1425048449000&api=v2 > >> >> > >>> ) > >> >> > >>> > >> >> > >>> добавил sudo apt-get install software-properies-common > >> >> > >>> и все действия в /opt через sudo, а так чистая система > >> поставленная > >> >> по > >> >> > >>> инструкции. > >> >> > >>> > >> >> > >>> 1. прописал домены в facebook и vk.com > >> >> > >>> в facebook в настройках куча всего + тестовое app и т.п. > отдельный > >> >> вопрос > >> >> > >>> что там нужно ставить и как. > >> >> > >>> > >> >> > >>> прописал в admin/config > >> >> > >>> application.base.url=http://{MYDOMEN}:5080/openmeetings/ > >> >> > >>> > >> >> > >>> 2. проверил работу полученных Client_ID и Client_secret через > php. > >> >> > >>> > >> >> > >>> !!! Особенности(отличие от facebook) vk.com: > >> >> > >>> > >> >> > >>> querty №1: " > >> >> > >>> > >> >> > >> > https://oauth.vk.com/authorize?client_id={ID}&scope=email&response_type=code&redirect_uri={URI > >> >> } > >> >> > >>> " > >> >> > >>> если успех, вернет код и email! > >> >> > >>> > >> >> > >>> querty №2: " > >> >> > >>> > >> >> > >> > https://oauth.vk.com/access_token?client_id={ID}&client_secret={SECRET}&redirect_uri={URI}&code={CODE > >> >> } > >> >> > >>> " > >> >> > >>> если успех, вернет access_token в формате json (facebook > >> возвращает > >> >> в виде > >> >> > >>> параметров url) > >> >> > >>> > >> >> > >>> querty №3: " > >> >> > >>> > >> >> > >> > https://api.vk.com/method/users.get?uids={UIDS}&access_token={TOKEN}&fields=sex,bdate,city > >> >> ...... > >> >> > >>> ." > >> >> > >>> если успех, вернет в формате json (facebook, так же на q№3 > >> >> возвращает в > >> >> > >>> формате json) > >> >> > >>> > >> >> > >>> => прописав в OAuth2 новую настройку 4 vk.com, после > авторизации > >> >> через > >> >> > >>> vk.com и возврата в openmt - internal error. > >> >> > >>> предположу, что из-за разного формата ответа на 2й вопрос. > >> >> > >>> fb: ?a=X&b=Y > >> >> > >>> vk: {"a":"X","b":y} > >> >> > >>> > >> >> > >>> и важно, vk.com отдает e-mail на 2м запросе, в 3м - где > >> >> пользовательские > >> >> > >>> данные адреса нет!!! > >> >> > >>> > >> >> > >>> 3. В итоге прописал ключи полученные в yandex, facebook и > >> настройки > >> >> vk.com > >> >> > >>> с ключами. > >> >> > >>> результат = ни один из 3х не работает. > >> >> > >>> > >> >> > >>> в логах у vk.com ошибка в получении данных. а вот с facebook в > >> >> начале все > >> >> > >>> как бы нормально, запрашивает code, по коду получает token. > >> >> > >>> из брауузера выглядит так: вход через fb => соглашаюсь на > передачу > >> >> > >>> => возвращает на страницу ввода логина и пасс, в url > содержится > >> >> ?code=... > >> >> > >>> > >> >> > >>> концовка лога. (полная часть в входа через facebook в > приложении) > >> >> > >>> DEBUG 04-06 22:35:03.927 o.a.wicket.Page:871 > >> >> > >>> [http-nio-0.0.0.0-5080-exec-2] - ending request for page [Page > >> class > >> >> = > >> >> > >>> org.apache.openmeetings.web.pages.auth.SignInPage, id = 12, > render > >> >> count = > >> >> > >>> 1], request > >> >> > >>> > org.apache.wicket.protocol.http.servlet.ServletWebRequest@4b7dfc3 > >> >> > >>> DEBUG 04-06 22:35:03.930 o.a.w.p.PageAccessSynchronizer:207 > >> >> > >>> [http-nio-0.0.0.0-5080-exec-2] - 'http-nio-0.0.0.0-5080-exec-2' > >> >> released > >> >> > >>> lock to page with id '12' > >> >> > >>> DEBUG 04-06 22:35:03.930 > >> >> > >>> o.a.w.p.AsynchronousDataStore$PageSavingRunnable:354 > >> >> > >>> [Wicket-PageSavingThread] - Saving asynchronously: Entry > >> >> > >>> [sessionId=E0991D1744CA99FEB6BDBE919E11E65F, pageId=12]... > >> >> > >>> DEBUG 04-06 22:35:03.930 o.a.w.p.PageAccessSynchronizer:358 > >> >> > >>> [http-nio-0.0.0.0-5080-exec-2] - 'http-nio-0.0.0.0-5080-exec-2' > >> >> notifying > >> >> > >>> blocked threads > >> >> > >>> DEBUG 04-06 22:35:03.930 o.a.w.p.DiskDataStore:186 > >> >> > >>> [Wicket-PageSavingThread] - Storing data for page with id '12' > in > >> >> session > >> >> > >>> with id 'E0991D1744CA99FEB6BDBE919E11E65F' То есть нажимаю > войти > >> >> через fb > >> >> > >>> => в fb > >> >> > >>> > >> >> > >>> Возможно есть какие-нибудь решение? > >> >> > >>> > >> >> > >>> Хотя бы от любой системы залогиниться, я смогу на php написать > >> >> прокси, > >> >> > >>> который вернет в нужном формате данные для openmeetings > например > >> от > >> >> vk.com > >> >> > >>> > >> >> > >>> Много пользователей в России пользуются vk.com и не хочется их > >> >> терять. :) > >> >> > >>> > >> >> > >>> P.S. есть еще 3.0.2 под ubuntu 10.4, кстати 3.0.3 и 3.0.4 на > 10.4 > >> не > >> >> > >>> запустились (red5.sh чего-то ругнулся..) в ней (3.0.2) > авторизация > >> >> так же > >> >> > >>> не проходит. > >> >> > >>> > >> >> > >>> Спасибо! > >> >> > >>> > >> >> > >>> --- > >> >> > >>> С уважением, Алексей Терехов. > >> >> > >>> +7 926 076 15 20 > >> >> > >> > >> >> > >> > >> >> > >> > >> >> > >> > >> >> > >>-- > >> >> > >>WBR > >> >> > >>Maxim aka solomax > >> >> > > >> >> > >> > > >> > > >> > > >> >-- > >> >WBR > >> >Maxim aka solomax > >> > >> > > > > > >-- > >WBR > >Maxim aka solomax > -- WBR Maxim aka solomax