Как создать кнопки входа Meteor OAuth, аналогичные кнопкам в Accounts-UI?

В настоящее время я использую пакет Meteor-Accounts-UI-Bootstrap-3-Blaze в моей панели навигации, которая в значительной степени представляет собой пакет Accounts-UI с начальной загрузкой поверх него.

Я хочу иметь отдельную форму регистрации для экрана-заставки, а не просто на панели навигации (аналогично тому, что Facebook и Twitter делают на своих экранах-заставках).

Есть ли простой способ взять то, что находится в раскрывающемся списке пакетов Accounts-UI, и отобразить его на заставке?

ИЛИ

Есть ли простой способ сделать кнопку быстрого входа OAuth для экрана-заставки?

Спасибо


person Jordan    schedule 14.05.2014    source источник


Ответы (1)


Если вы хотите создать пользовательскую кнопку с идентификатором googleLoginButton, например, для потока входа в систему Google OAuth, вы должны сделать

Template.myTemplate.events({
  'click #googleLoginButton': function() {
    Meteor.loginWithGoogle();
  }
});

если вы хотите добавить области

Meteor.loginWithGoogle({ requestPermissions: ['email', 'profile'] });

Примечание: вам все равно нужно будет выполнить первоначальную настройку, где вы добавите clientId и clientSecret.

У меня есть помощник, чтобы проверить, настроена ли служба, и если не отображается {{> loginButtons}}

Template.myTemplate.helpers({
  google_configured: function() {
    return ServiceConfiguration.configurations.findOne({service: 'google'});
  }
});

Вы можете использовать эту коллекцию ServiceConfiguration для запроса всех настроенных вами служб OAuth и создания настраиваемых кнопок входа для них всех.

person shambles    schedule 14.05.2014
comment
Я думаю, что они, возможно, обновили то, что ServiceConfiguration вызывается для клиента. Я вижу meteor_accounts_loginServiceConfiguration на сервере, но не могу найти коллекцию на стороне клиента, чтобы проверить, какие из них включены. Есть идеи? Спасибо за помощь - person Jordan; 17.05.2014