Вторник, 30 мая, 2017

Войти на сайт
ТЕМА: Не работает регистрация на сайте через социальные сети
02 августа 2013, 13:53 Не работает регистрация на сайте через социальные сети
Василий Мажекин
Регистрация: 14 мая 2013
Откуда: Калининград
Сообщений: 131

После прикручивания форума, перестала работать регистрация на сайте, спасибо Алексею Тену за сообщение в комментариях к статье тут:

1. У Вас на этом сайте не работает регистрация через соц.сети ;-) Выдает ошибку конвертирования datetime2 в datetime 2. А как быть с тем, что facebook дописывает в конце ответа символы #_=_ ? Да и вообще, даже при регистрации через твиттер выдает ошибку что не может найти страницу. возвращаясь на ExternalLoginCallback, как можно выловить ошибку? Проблема еще в том, что на локальной машине не дает отрабатывать, чтобы поставить точку останова (соц.сети не хотят localhost прописывать). При этом регистрация через ВК (по Вашей статье) работает нормально, может и для остальных код переписать надо? :-)

02 августа 2013, 14:32 Re: Не работает регистрация на сайте через социальные сети
Василий Мажекин
Регистрация: 14 мая 2013
Откуда: Калининград
Сообщений: 131

Регистрацию пофиксил и потестил на всех 5 соц. сетях. Ошибка получилась из-за добавления нового поля даты в таблице базы данных для обычной регистрации (изначально была только OAuth-регистрация, обычную сделал уже потом).

По поводу того как быть, что facebook дописывает в конце ответа #_=_ не могу ничего сказать, на это я не обратил внимание, или мне это не мешало.

Про ошибку в твиттере могу вот что сказать. Для oauth-регистрации на codehint.ru вообще не использовались встроенные методы типа

OAuthWebSecurity.RegisterFacebookClient();
OAuthWebSecurity.RegisterTwitterClient();

Была попытка их применить, но например твиттер просто не работал, а еще нужно было картинки для аватарок сразу доставать. Со встроенными методами что-то не получалось. Пришлось все остальные 4 oAuth-клиента написать через интерфейс IAuthenticationClient (это Twitter, Facebook, GitHub и Google). По теме сайта надо еще бы и LinkedIn сделать. Да, это подходит к последнему вопросу, для остальных Oauth-клиентов код переписан. Правда важность тестов для них возрастает, я так думаю надо интеграционные делать, и запускать их например раз в день, потому что в api социальных сетей может что-то поменяться, и это надо отслеживать. (Было такое что собственная реализация гитхаба работала, потом какой-то параметр поменялся в их апи, и пришлось подстраивать клиента заново.)

Про локальную машину... Можно на ней тестить регистрацию через соц. сети. Тут для всех сетей можно применить один общий метод (для всех пяти клиентах на codehint.ru он работает). Создать аккаунтов приложений для каждой сети по два: один для тестирований и разработки на локальной машине (localhost), а второй для продакшена например codehint.ru. Затем подставлять их можно различными способами. (например в зависимости от DEBUG-не DEBUG). Либо как для codehint сделаны два солюшена один для разработки, а другой уже для продакшена. В разных проектах вшиты разные данные аккаунтов и они при мердже(слиянии) проектов не перезаписываются.

30 сентября 2013, 05:35 Re: Не работает регистрация на сайте через социальные сети
Василий Мажекин
Регистрация: 14 мая 2013
Откуда: Калининград
Сообщений: 131
Извините, перенес вопрос о регистрации  через Twitter с адресом localhost в дискуссии об ASP.NET MVC, здесь темы в основном о багах на самом сайте codehint.ru. Ваш вопрос перенес сюда Как сделать регистрацию на сайте через Twitter, с адресом сайта localhost
Только зарегистрированные пользователи могут отправлять сообщения.

Copyright © 2013 All Rights Reserved for CodeHint.ru      Powered by Windows Azure