• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 需要 Quicklox token

[复制链接]
菜鸟教程小白 发表于 2022-12-12 20:57:14 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我在我的应用程序中使用 quickblox。我做了我的用户注册、用户登录和聊天。我第一次登录时一切正常。如果我按 home 并再次进入应用程序,我会来到我的 viewController 页面。用户自动注销。当我尝试登录时,它说,需要 token 。

我已将 session 身份验证放入 appdelegate

 [QBAuth createSessionWithDelegate:self]
    -(void)viewDidAppearBOOL)animated
    {

    if([LocalStorageService shared].currentUser == nil)// check if user is logged in
    {
        NSCharacterSet *nonalphanumericSet = [[ NSCharacterSet alphanumericCharacterSet] invertedSet];

        [QBUsers logInWithUserLogin:[[[PFUser currentUser].username componentsSeparatedByCharactersInSet:nonalphanumericSet ] componentsJoinedByString"1"] password"password" delegate:self];
    }
    }

    - (void)completedWithResultResult *)result
    {
    if(result.success && [result isKindOfClassBUUserLogInResult.class])
    {
        // Success, do something
        QBUUserLogInResult *userResult = (QBUUserLogInResult *)result;
        NSLog(@"Logged In user=%@", userResult.user);


            userResult.user.password =@"password";

        // Save current user
        //
        [[LocalStorageService shared] setCurrentUser: userResult.user];


        // Login to QuickBlox Chat
        //
        [[ChatService instance] loginWithUser:[LocalStorageService shared].currentUser completionBlock:^{

            NSLog(@"chat logged successfully");


        }];

        // Errors
    }
    else
    {
        NSString *errorMessage = [[result.errors description] stringByReplacingOccurrencesOfString"(" withString""];
        errorMessage = [errorMessage stringByReplacingOccurrencesOfString")" withString""];

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle"Errors"
                                                        message:errorMessage
                                                       delegate:nil
                                              cancelButtonTitle"Ok"
                                              otherButtonTitles: nil];
        [alert show];

    }

}



Best Answer-推荐答案


token is required表示您正在尝试执行请求,但您还没有创建 session

您可以重现此问题,只需一一执行 2 个请求:

[QBAuth createSessionWithDelegate:self];
[QBUsers logInWithUserLogin:... delegate:self];

在此序列之后,您将得到“需要 token ”

要摆脱这种情况,您应该等待创建 session 请求完成并执行下一个请求:

[QBAuth createSessionWithDelegate:self];

...

- (void)completedWithResultResult *)result{
     if(result.success && [result isKindOfClassBAAuthSessionCreationResult.class]){

         // you got token here - perform any other requests after this

         [QBUsers logInWithUserLogin:... delegate:self];

     }
}

这不是您的问题的解决方案,而是解释它发生的原因以及如何解决它

关于ios - 需要 Quicklox token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22707908/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap