简体   繁体   中英

Quickblox Error : “Unexpected Signature” while login ChatService in Android

I had integrated the Quickblox SDK V2.2.5 in my android application and I found that chat is not functional when we use SocialProviders like Facebook and Twitter .

So, the exact error which didn't let it work occur when we try to login to ChatService , after receiving success of all required singleton classes of Quickblox.

Here following is my code:-

QBAuth.createSession(new QBEntityCallbackImpl<QBSession>() {
    @Override
    public void onSuccess(final QBSession result, Bundle params) {
        Log.e("QbAuth/onSuccess", "" + result);        

        QBUsers.signInUsingSocialProvider(QBProvider.FACEBOOK, preference.getFacebookToken(), null, new QBEntityCallbackImpl<QBUser>() {            
            @Override
            public void onSuccess(final QBUser user, Bundle args) {
                Log.e("Fb Login/onSuccess", "user: " + user.toString());                                                           

                try {
                    user.setPassword(BaseService.getBaseService().getToken());
                } catch (BaseServiceException e) {
                    e.printStackTrace();
                    // means you have not created a session before but we have created as we can see.
                }    
                // Lets initialize ChatService if it's not done before.  
                ChatService.initIfNeed(context);

                ChatService.getInstance().login(user, new QBEntityCallbackImpl() {        
                        @Override
                        public void onSuccess() {        
                            Log.e("ChatService/onSuccess",
                                    "Logged in to Chat");        
                        }

                        @Override
                        public void onError(final List errors) {        
                            /** It's always been error here while we login **/        
                            Log.e("ChatService Error", "" + errors);                                                                        
                                }
                            });        
                        }
                    });

                try {      
                    // User & password saving.                                                      
                    DataHolder.getDataHolder().setSignInQbUser(
                            user);
                    DataHolder
                            .getDataHolder()
                            .setSignInUserPassword(
                                    BaseService
                                            .getBaseService()
                                            .getToken());
                } catch (BaseServiceException e) {
                    e.printStackTrace();
                }                                                       
            }

            @Override
            public void onError(List<String> errors) {
                Log.e("Fb Login/onError", "Error: "
                        + errors);                                                        
            }
        });

    }

    @Override
    public void onError(List<String> errors) {
        Log.e("QbAuth/onError", "" + errors);
    }
});

And the Log for same is:-

01-20 12:18:37.657 28040-28040/com.myapp D/QBASDK:     POST https://api.quickblox.com/session.json?application_id=25290&auth_key=Mr3GJxYk6krKbQN&nonce=-1682323378&timestamp=1453272517&user[login]=_702514376540831&user[email]=haps%40india.com&user[password]=3731b3f7f4857202ce39516d677baf54bfbbd3aa&signature=6a5c8f377906d5e73852e838b488ef500c499bef  
*** RESPONSE *** a35fe359-229b-4663-b705-67d9e394eb7e ***
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK: STATUS : 422 
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK: HEADERS
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK:     Access-Control-Allow-Origin=*
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK:     Cache-Control=no-cache
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK:     Connection=keep-alive
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK:     Content-Length=44
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK:     Content-Type=application/json; charset=utf-8
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK:     Date=Wed, 20 Jan 2016 06:48:38 GMT
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK:     QuickBlox-REST-API-Version=0.1.1
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK:     Server=nginx/1.8.0
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK:     Status=422 Unprocessable Entity
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK:     X-Rack-Cache=invalidate, pass
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK:     X-Request-Id=102f5ea405e66ba568a7a5f5522b65de
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK:     X-Runtime=0.006373
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK:     X-UA-Compatible=IE=Edge,chrome=1
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK: BODY
01-20 12:18:39.187 28040-28040/com.myapp D/QBASDK:     '{"errors":{"base":["Unexpected signature"]}}'
01-20 12:18:39.187 28040-28040/com.myapp E/ChatService Error: [base Unexpected signature]

Looks like you are trying to create a session with user's params like login, password and email

can you choose one identity param (login or email) and try with it, don't need to pass both of them

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM