我在用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
发布于 2015-07-30 19:25:13
如果用户不存在,请尝试先登录,然后再登录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
}
});
}
});发布于 2015-07-30 08:53:43
显然,问题是当用户的OAuth令牌还没有在你的服务中注册,但已经在网站上使用并通过Twitter授权你的应用程序时,如何持久化这些令牌。
简而言之,这取决于你的服务做了什么。
您可以将它们保存在当前页面的上下文中的JavaScript中-当用户关闭选项卡时,它们将被销毁。
或者,您可以将它们保存在cookie中,以便在用户返回时可用。
或者,您可以在数据库中创建“虚拟”用户,并将该用户的ID保存在cookie中。
或者,您可以使用从Twitter查询的数据自动注册用户,并在twitter上进行身份验证时登录用户。
无论如何,当用户最终注册时,只需将这些值复制到数据库中相应的字段中。
https://stackoverflow.com/questions/31713402
复制相似问题