Re: Re[6]: OAuth2 openmt 3.0.4 for facebook, vk.com etc
ну Вы напишите какие поля какой провайдер предоставляет и как они называются (если это возможно) и я поправлю чтобы нормально работало 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[6]: OAuth2 openmt 3.0.4 for facebook, vk.com etc
Спасибо за ответы!!! Получается так: 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. * логин от соц. сетей делать уникальным