2016-04-27 2 views
0

В настоящее время мы используем Metoer с OAuth и Iron Router.Meteor: Дифференцирование входа и регистрации через социальные сети

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

1) Я не хочу, чтобы пользователи регистрировались через Facebook по моему обычным URL.

2) Я генерирую URL-адреса и присутствую в них. Здесь я ХОЧУ позволить новым пользователям зарегистрироваться.

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

I.e. Мне нужен способ остановить процесс учетной записи, в некоторых случаях, если проверка пакета учетной записи соответствующей локальной учетной записи не удалась, но я не могу найти, где и когда это делать.

Как я понимаю, пакеты Meteor для Facebook, используя loginWithFacebook(), создадут учетную запись после успешной проверки учетных данных FB, если ни одно из них не присутствует в нашем приложении Meteor.

У кого-нибудь еще была эта проблема, или у вас есть идея, как выполнить такой дифференцирующий вход и регистрацию через учетные записи социальных сетей?

ответ

0

Если вы хотите отключить регистрацию для новых пользователей, но разрешить существующим пользователям входить в систему, просто используйте этот код на стороне сервера.

Accounts.validateNewUser(function (user) { 
    return false; 
}); 

http://docs.meteor.com/#/full/accounts_validatenewuser

+0

Спасибо за это предложение. Я вижу, что для того, чтобы свести к минимуму объем проблемы, я оставил ключевой элемент: Я хочу различать логин от регистрации для некоторых URL-адресов, а не для других, в том же приложении. I.e. Я хочу создать уникальные URL-адреса, где выполняется регистрация, в то время как мои обычные общедоступные логины для входа - это просто для входа в систему, а не для регистрации. Из того, что я вижу, URL-адреса не передаются на сервер, поэтому я не могу использовать URL-адреса или переменные с функциями validateNewUser? Я также обновляю свой начальный вопрос. –