Reputation: 356
I am playing Quickblox q-municate and was successful with 1:1 video chat for a day, but now am getting "Token Required."
I know I need to create a session and this is the code that I've come up with and placed in the QBAuthHelper.java file:
public class QBAuthHelper extends BaseHelper {
public QBAuthHelper(Context context) {
super(context);
}
public QBUser login(QBUser inputUser) throws QBResponseException, BaseServiceException {
QBUser user;
QBAuth.createSession();
String password = inputUser.getPassword();
user = QBUsers.signIn(inputUser);
String token = QBAuth.getBaseService().getToken();
user.setPassword(password);
AppSession.startSession(LoginType.EMAIL, user, token);
return user;
}
public QBUser login(String socialProvider, String accessToken,
String accessTokenSecret) throws QBResponseException, BaseServiceException {
QBUser user;
QBSession session = QBAuth.createSession();
user = QBUsers.signInUsingSocialProvider(socialProvider, accessToken, accessTokenSecret);
user.setPassword(session.getToken());
String token = QBAuth.getBaseService().getToken();
AppSession.startSession(LoginType.FACEBOOK, user, token);
return user;
}
public QBUser signup(QBUser inputUser, File file) throws QBResponseException, BaseServiceException {
QBUser user;
QBAuth.createSession();
String password = inputUser.getPassword();
inputUser.setOldPassword(password);
user = QBUsers.signUpSignInTask(inputUser);
if (null != file) {
QBFile qbFile = QBContent.uploadFileTask(file, true, (String) null);
user.setWebsite(qbFile.getPublicUrl());
user = QBUsers.updateUser(inputUser);
}
user.setPassword(password);
String token = QBAuth.getBaseService().getToken();
AppSession.startSession(LoginType.EMAIL, user, token);
return inputUser;
}
public void logout() throws QBResponseException {
AppSession activeSession = AppSession.getSession();
if (activeSession != null) {
activeSession.closeAndClear();
}
Session.getActiveSession().closeAndClearTokenInformation();
QBAuth.deleteSession();
}
public QBUser updateUser(QBUser inputUser) throws QBResponseException {
QBUser user;
if (!TextUtils.isEmpty(inputUser.getFacebookId()) && TextUtils.isEmpty(inputUser.getWebsite())) {
return inputUser;
}
String password = inputUser.getPassword();
user = QBUsers.updateUser(inputUser);
user.setPassword(password);
return user;
}
public QBUser updateUser(QBUser user, File file) throws QBResponseException {
QBFile qbFile = QBContent.uploadFileTask(file, true, (String) null);
user.setWebsite(qbFile.getPublicUrl());
user.setFileId(qbFile.getId());
return updateUser(user);
}
public void resetPassword(String email) throws QBResponseException {
QBAuth.createSession();
QBUsers.resetPassword(email);
}
}
I am still getting "Token Required" issues, not sure what I did wrong here.
Upvotes: 1
Views: 583
Reputation: 126
If it appears after calls it's an error in native lib for calls. We are working on this now. To continue work in app after appeared error you can just relogin. It will reinitialize modules.
Upvotes: 1