Conectando Janrain ao Livefyre usando AuthDelegate

Livefyre.require fornece um plug-in que permite que o auth ouça o barramento do Backplane Janrain.

Quando uma mensagem de identidade/login é transmitida no canal Backplane, auth.authentication() será chamado para você com o token de autenticação Livefyre do usuário. Você ainda deve implementar um AuthDelegate.

Livefyre.require(['auth', 'backplane-auth-plugin#0'], function(auth, backplanePluginFactory) {
   auth.plugin(backplanePluginFactory('network.fyre.co'));
   auth.delegate({
      login: function (finishLogin) {
         loginWithCapture(finishLogin);
      }
   });
});
OBSERVAÇÃO

O objeto window.Backplane deve ser definido na página antes de chamar auth.plugin com o plug-in Livefyre Backplane. Para garantir que o objeto Backplane esteja disponível, chame o código de instanciação do Livefyre a partir de um retorno de chamada onReady. Consulte o contato do Janrain para determinar quando outros aplicativos podem usar o objeto Backplane.

A seguir estão alguns exemplos de como um representante de autenticação pode procurar uma integração com o Janrain Capture.

OBSERVAÇÃO

O delegado de autenticação varia de acordo com a instância do Janrain.

  • O retorno de chamada passado para o método de logon do delegado de autenticação
  • A referência para a variável de captura do Janrain.
  • : Uma referência ao objeto Backplane.
/**
* Login function
* In this case, opens a login modal and triggers Backplane to start listening
* for login messages
*/
authDelegate.login = function(finishLogin) {
   var successCallback = function() {
      // These need to be replaced with the actions that correspond to successful login
      // and when the Janrain modal is closed.
      janrain.events.onCaptureLoginSuccess.removeHandler(successCallback);
      janrain.events.onModalClose.removeHandler(failureCallback);
      finishLogin();
   };

   var failureCallback = function(e) {
      janrain.events.onModalClose.removeHandler(failureCallback);
      janrain.events.onCaptureLoginSuccess.removeHandler(successCallback);
      finishLogin(e || new Error("Error logging in with Janrain Capture"));
   };

   // Open the modal to log a user in
   janrain.capture.ui.renderScreen('signIn');
   // Send a backplane message
   window.Backplane.expectMessages('identity/login');
   // Add handlers to specific janrain events
   janrain.events.onCaptureLoginSuccess.addHandler(successCallback);
   janrain.events.onModalClose.addHandler(failureCallback);
};

Logout

  • endLogout: o retorno de chamada passado para o método de logon do delegado de autenticação.

  • window.Backplane: uma referência ao objeto Backplane.

/**
* Logout function
* In this case, invalidates the session and removes the cookie.
* Also reloads the page to change state. In order to do this without a reload,
* it would be necessary to also update the UI.
*/
authDelegate.logout = function(finishLogout) {
   Backplane.resetCookieChannel();
   janrain.capture.ui.endCaptureSession();
   finishLogout();
};

Editar perfil

Isso pode vincular-se a qualquer parte do site que você gostaria que os usuários visitem para visualizar sua própria página de perfil. Este exemplo apenas imprime o objeto do autor transmitido.

/**
* Edit profile function
* @param user - User who would like to edit their profile
*/
authDelegate.editProfile = function(user) {
   console.log(user);
};

Exibir perfil

Como Editar perfil, isso deve vincular a uma página de usuário diferente da página que está conectada no momento. Isso pode ser implementado da maneira que você entender. Este exemplo simplesmente registra o parâmetro author no console.

/**
* View profile function
* @param user - User or userId whose profile should be displayed
*/
authDelegate.viewProfile = function(user) {
   console.log(author);
};

Nesta página