请选择 进入手机版 | 继续访问电脑版
帖子
帖子
用户
博客
课程
显示全部楼层
31
帖子
0
勋章
485
Y币

QQ登录怎么绑定user表中的username,登录获取accessToken

[复制链接]
发表于 2015-5-23 21:02:58
问题是这样的  QQ登录后  返回openid 和token

取得openId的时候,就需要修改原网站的APICloud数据库  user表 或 重新建立一个新表,这样做的目的是为了把openId和网站原用户进行绑定。

当qq用户登陆的时候,就需要通过openId去user表查询,如果有查询到,那么登陆成功;(但是,怎么获得apicloud数据库的accessToken,为了获得其他增删改查的权限)

如果没有查询到,就证明是第一次登陆,需要跳转到绑定页面,让用户绑定一个用户名(也就是说创建一个新用户),然后登陆成功。

附带QQ登录逻辑:
1.首先修改用户表(user)增加一个openId字段 或者重新建立一个新表

2.前面说不是用户登录后能得到openId吗?   

openId是绝对唯一确定用户的标识 ,所以我们就根据这个(openId)判断

第一步:查询用户表里是否有  openId == 用户登录的openId
if(qq登陆用户openId如果用户表里查出来有的话){
   根据openId取得用户信息 跳转到登陆后的用户。
}else if(qq登陆用户openId如果在户表里有没有的话) {
   跳转到绑定页面,也就是创建一个新的用户
            //创建的过程中你还可以加判断的
             if(如果注册用已经有帐号了){
                       直接绑定 跳转到登陆后的页面。
              }else if(没有帐号){
                       跳转到注册页面 然后绑定 跳转到登陆后的页面
              }
}

原来是 分享帖
怎么获得apicloud数据库的accessToken,为了获得其他增删改查的权限
登陆成功之后,就可以改查数据了;  默认是可以直接新建用户的;
如果还有问题,建议先在 云控制台->database->更多,把 user 表权限设为  public
31
帖子
0
勋章
485
Y币
技术支持-Altair 发表于 2015-5-25 10:24
登陆成功之后,就可以改查数据了;  默认是可以直接新建用户的;
如果还有问题,建议先在 云控制台->database- ...

user 使用public后  就不用login 获取accessToken了? 我能这样理解么?
14
帖子
0
勋章
167
Y币
/* 获取token */

    function getToken() {
        var appKey = "cpj2xarljqysn";
        var appSecret = "rBAS1aMD4X";
        var userId = "userId001";
        var name = "name001";
        var portraitUri = "http://www.apicloud.com/img/icon1.png";
        var callback = function(ret, err){
            alert("ret: " + JSON.stringify(ret) + "\nerr: " + JSON.stringify(err));
        };

        ajaxToRongCloud(appKey, appSecret, userId, name, portraitUri, callback);
    }

ajaxToRongCloud(appKeyIM, appSecretIM, userIdIM, nameIm, portraitUriIM, function(ret, err){
            if(ret && ret.token){
                /* 2.将 imToekn 与 新用户关联. */
                var model = api.require('model');

                model.config({
                    appId: "A6993557326***",
                    appKey: "E76C39A6-D438-6890-4613-D18D7A6E0***"
                });

                model.insert({
                    class: 'user',
                    value: {
                        username: ret.userId,
                        password: "pwd001",
                        email: "1963004330**.**",
                        imToken: ret.token
                    }
                }, function(ret, err){
                    var msg = "";

                    if(ret){
                        msg += "ret: " + JSON.stringify(ret);
                    }

                    if(err){
                        msg += "err: " + JSON.stringify(err);
                    }

                    alert(msg);
                });
            }
        });

    }

29
帖子
0
勋章
557
Y币
为什么我QQ登陆后回调返回并没有id的字眼存在,都是头像啊名字啊,是否为黄砖,登记这些信息,怎么取取得openid
您需要登录后才可以回帖 登录

本版积分规则