QuickBlox / quickblox-ios-sdk

QuickBlox iOS SDK for messaging and video calling
https://quickblox.com/developers/IOS
MIT License
396 stars 358 forks source link

Twitter Digit Password Not Verified on 'connectWithUser:' #702

Closed haifizarshad closed 7 years ago

haifizarshad commented 7 years ago

Help avoid duplicate issue reports, check existing issues

Environment details iOS version, Quickblox iOS SDK version, QuickbloxWebRTC SDK version (optional) "QB-OS" = "iOS 10.1.1"; "QB-SDK" = "iOS 2.8.0.1"; "QuickBlox-REST-API-Version" = "0.1.1"; "User-Agent" = "samplevideochatwebrtc/0 (iPhone; iOS 10.1.1; Scale/2.00)";

Did this work before? Nover tested before

Expected behavior

Actual behavior

Logs Attach full logs that will describe your problem (please, use github gist) 2016-12-08 20:20:21.502785 samplevideochatwebrtc[9594:1963187] [DYMTLInitPlatform] platform initialization successful 2016-12-08 20:20:22.121504 samplevideochatwebrtc[9594:1963089] [Digits] Add the Answers framework to your app to enable Digits event logging automatically. Learn more at https://answers.io 2016-12-08 20:20:22:261 samplevideochatwebrtc[9594:1963089] rtc::Initialize SSL... (v2.1.1, r10677) 2016-12-08 20:20:22.274266 samplevideochatwebrtc[9594:1963174] rtc::Initialize SSL... (v2.1.1, r10677) 2016-12-08 20:20:31.302041 samplevideochatwebrtc[9594:1963089] objDGTSession : 806127095856250880 2016-12-08 20:20:32.532668 samplevideochatwebrtc[9594:1963089] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles 2016-12-08 20:20:32.537470 samplevideochatwebrtc[9594:1963089] [MC] Reading from public effective user settings. 2016-12-08 20:20:37.669 samplevideochatwebrtc[9594:1963230] [QBCore] Request URL:https://api.quickblox.com/login.json 2016-12-08 20:20:37.670 samplevideochatwebrtc[9594:1963230] [QBCore] Request method: POST 2016-12-08 20:20:37.670 samplevideochatwebrtc[9594:1963230] [QBCore] Request parameters:{ provider = "twitter_digits"; "twitter_digits" = { "X-Auth-Service-Provider" = "https://api.digits.com/1.1/sdk/account.json"; "X-Verify-Credentials-Authorization" = "OAuth oauth_timestamp=\"timestamp...\",oauth_version=\"1.0\",oauth_consumer_key=\"consumerkey...\",oauth_signature=\"outhsignature...%3D\",oauth_token=\"outhtoken...\",oauth_nonce=\"outhnonce...\",oauth_signature_method=\"HMAC-SHA1\""; }; } 2016-12-08 20:20:37.670 samplevideochatwebrtc[9594:1963230] [QBCore] Request headers: { "Accept-Language" = "en;q=1, en-US;q=0.9"; "Content-Type" = "application/x-www-form-urlencoded"; "QB-OS" = "iOS 10.1.1"; "QB-SDK" = "iOS 2.8.0.1"; "QB-Token" = quick blox token; "QuickBlox-REST-API-Version" = "0.1.1"; "User-Agent" = "samplevideochatwebrtc/0 (iPhone; iOS 10.1.1; Scale/2.00)"; } 2016-12-08 20:20:40.437 samplevideochatwebrtc[9594:1963194] [QBCore] Response headers: { "Access-Control-Allow-Origin" = "*"; "Cache-Control" = "no-cache"; Connection = "keep-alive"; "Content-Length" = 391; "Content-Type" = "application/json; charset=utf-8"; Date = "Thu, 08 Dec 2016 15:20:40 GMT"; "QB-Token-ExpirationDate" = "2016-12-08 17:07:10 UTC"; "QuickBlox-REST-API-Version" = "0.1.1"; Server = "openresty/1.9.15.1"; Status = "202 Accepted"; "X-Rack-Cache" = "invalidate, pass"; "X-Request-Id" = 89f15755b48cd81749c2b44fdc66ad65; "X-Runtime" = "0.211415"; "X-UA-Compatible" = "IE=Edge,chrome=1"; } 2016-12-08 20:20:40.441 samplevideochatwebrtc[9594:1963194] [QBCore] Response object: { user = { "blob_id" = ""; "created_at" = "2016-12-08T13:28:47Z"; "custom_data" = ""; email = ""; "external_user_id" = ""; "facebook_id" = ""; "full_name" = ""; id = 21457580; "last_request_at" = "2016-12-08T15:07:10Z"; login = "+92MyNumber”;// "owner_id" = ownerid; phone = 92myNumber; "twitter_digits_id" = twitterDigitID; "twitter_id" = ""; "updated_at" = "2016-12-08T15:20:40Z"; "user_tags" = ""; website = ""; }; } 2016-12-08 20:20:42.717 samplevideochatwebrtc[9594:1963194] [Core] Set default chat endpoint for QBConnectionZoneTypeAutomatic 2016-12-08 20:20:42.725 samplevideochatwebrtc[9594:1963194] [ChatService] Connecting to Chat, host: chat.quickblox.com, user JID: 21457580-48316@chat.quickblox.com/7A243943-20EB-4D6B-808A-796F182321FE 2016-12-08 20:20:45.861 samplevideochatwebrtc[9594:1963172] [ChatService] Stream isSecure: YES 2016-12-08 20:20:46.987 samplevideochatwebrtc[9594:1963230] [ChatService] Stream did connect, supportsStartTLS: YES 2016-12-08 20:20:47.398 samplevideochatwebrtc[9594:1963194] [ChatService] Did not authenticate, error: Password not verified 2016-12-08 20:20:51.773 samplevideochatwebrtc[9594:1963316] [ChatService] Did disconnect

Steps to reproduce the behavior Just Called, [QBRequest logInWithTwitterDigitsAuthHeaders:authHaders successBlock:^(QBResponse _Nonnull response, QBUUser _Nullable user) { //Loged in successfully //when ever i call QBUUser *_user = user; _user.password = QB_DEFAULT_PASSOWORD;

    [[QBChat instance] connectWithUser:user completion:^(NSError * _Nullable error) {
               //It Falls in this statement
               if (error.code == 401) {
                       //
               }
    }

}

Any others comments? Login with 'connectWithUser:' is working fine [[QBChat instance] connectWithUser:user completion:^(NSError * _Nullable error){}

Raikerian commented 7 years ago

Hi,

What is QB_DEFAULT_PASSOWORD? When you are loggin in with any social provider (twitter, fb, twitter digits) you should use QB session token as user password. Get it from [QBSession currentSession].sessionToken

haifizarshad commented 7 years ago

Thanks for ur reply, let me try it first

haifizarshad commented 7 years ago

In QuickBlox Framework version 2.8.0.1, password should be taken from _password = [QBSession currentSession].sessionDetails.token; Its fine in my case, but I am not able to get session token via, [QBSession currentSession].sessionToken

By the way issue is resolved thanks for your corporation.