注册OAuth凭证Quickblox和OAuth(Sign UP oAuth Tokens Quic

2019-10-24 07:28发布

我正在登录系统http://quickblox.com/ ,

我有这个代码利用社会进行身份验证,特(Twitter这种情况下)。

var params = { 'provider': "twitter", 'keys[token]': "...", 'keys[secret]': "..."};

QB.login(params, function(err, user){
  if (user) {
    // success
  } else  {
    // error
  }
});

而这一次注册

var params = { 'login': "emporio", 'password': "somepass"};

QB.users.create(params, function(err, user){
  if (user) {
    // success
  } else  {
    // error
  }
});

我如何注册他们,如果他们还没有注册?

http://quickblox.com/developers/Sample-users-javascript#Sign_In_using_Facebook.2FTwitter_access_token

Answer 1:

试着先登录,然后在登录的情况下,如果IP用户不存在

var params = { 'login': "emporio", 'password': "somepass"};
QB.login(params, function(err, user){
  if (user) {
    // success
  } else  {

    // error, user not registered yet
    QB.users.create(params, function(err, user){
      if (user) {
        // success

        QB.login(params, function(err, user){
          if (user) {
            // success
          } else  {
            // error
          }
        });

      } else  {
        // error
      }
    });
  }
});


Answer 2:

因此很明显的问题是如何保持用户的OAuth令牌当他们与你的服务中使用该网站尚未注册,但已经和授权与Twitter您的应用程序。

总之 - 这取决于你的服务做什么。

你可以让他们在JavaScript当前页面的上下文 - 它们将被销毁用户关闭该选项卡。

或者你可以将它们保存在饼干所以当用户回来,他们将可用。

或者你可以在数据库中创建“虚拟”的用户,并保存该用户的cookie ID。

或者你可以自动从Twitter查询的数据注册用户和登录用户在Twitter上的验证操作英寸

无论如何,当用户最终注册,只是这些值复制到相应的字段在数据库中。



文章来源: Sign UP oAuth Tokens Quickblox and oAuth