QuickBlox: рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдФрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг

рд╣рд╛рдп рдЦрд╛рдмреНрд░реЛрд╡рддреНрд╕реА! рдЫрд╡рд┐

рдЖрдЬ рдореИрдВ QuickBlox рдореЗрдВ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ ред рд╕рд╛рде рд╣реА рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдФрд░ рдЙрд╕рдХреЗ рдкрд╣рд▓реБрдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рддреЛ, QuickBlox API рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдЕрдиреБрд░реЛрдз рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдЕрдиреНрдп рд╕реНрд╡рдпрдВ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред QuickBlox рдореЗрдВ 4 рд╕рдВрднрд╛рд╡рд┐рдд рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдирд┐рдХрд╛рдп рд╣реИрдВ:

рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди ReadOnly рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЗрдХрд╛рдИ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреЛрдХрди рдХреЗ рд╕рд╛рде, рд╣рдо рдХрдИ рд╕реВрдЪрдирд╛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд░реЗрдЯрд┐рдВрдЧ рдпрд╛ рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдзред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рдЙрдкрд▓рдмреНрдз рдПрдХрдорд╛рддреНрд░ рд▓реЗрдЦрди рдСрдкрд░реЗрд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реИред рдпрд╣ рдЗрдХрд╛рдИ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рдорд╛рдгрд┐рдд рд╣реИ:

рдпрд╣ рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╕рднреА рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдЫрд╡рд┐

рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдЗрдХрд╛рдИ рд╣реИ рдЬреЛ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рддрдХ рдкрд╣реБрдВрдЪ рд░рдЦрддрд╛ рд╣реИ, рд╢рд╛рдпрдж рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдЬреИрд╕реЗ рдкреБрд╢ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХрд░рдгред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдЖрд╡реЗрджрди , рд▓реЗрдХрд┐рди рдЦреЗрддреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ

рдПрдХ рдЙрдкрдХрд░рдг рдПрдХ рдЗрдХрд╛рдИ рд╣реИ рдЬреЛ рдПрдХ рдЖрд╡реЗрджрди рдХреЗ рд╡рд┐рдкрд░реАрдд рдирд╣реАрдВ рд╣реИред рд╕рдорд╛рди рд▓рд┐рдЦрдиреЗ рдХреЗ рдХреЛрдИ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реИрдВред рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрдХрд╛рдИ рдбрд┐рд╡рд╛рдЗрд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ

рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореБрдЦреНрдп рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЗрдХрд╛рдИ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдХреНрд╡рд┐рдХрдмреНрд▓реЙрдХреНрд╕ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рд╕рднреА рд╕рдВрднрд╡ рд╕рдВрдЪрд╛рд▓рди рдЙрдкрд▓рдмреНрдз рд╣реИрдВ ред рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рд╡рд░реНрддреА рд╕рднреА рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдФрд░ рдЕрдм рдЯреЛрдХрди рдкреАрдврд╝реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХред рдЯреЛрдХрди рдХреБрдВрдЬреА QuickBlox рдХреЗ рдмреЙрд▓реНрд╕ рдореЗрдВ рдирд┐рдореНрди рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЗ рд╕рд╛рде http://api.quickblox.com/session рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░ POST рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЕрдиреБрд░реЛрдз рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ:
рдЖрд╡реЗрджрди
APPLICATION_IDрдЖрд╡реЗрджрди рдЖрдИрдбреА
auth_keyрдЖрд╡реЗрджрди рдХреБрдВрдЬреА
рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдкрдпреВрдирд┐рдХреНрд╕ рдпреБрдЧ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдордп, рдЬреЛ 1 рдШрдВрдЯреЗ рдХреЗ рд╕рд░реНрд╡рд░ рд╕рдордп рд╕реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗрд░реИрдВрдбрдо рдирдВрдмрд░
рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд╣рд╕реНрддрд╛рдХреНрд╖рд░
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ [рд▓реЙрдЧрд┐рди]рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЙрдЧрд┐рди
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ [рдкрд╛рд╕рд╡рд░реНрдб]рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ [owner_id]рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рд╕реНрд╡рд╛рдореАред 30 рдордИ, 2012 рд╕реЗ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛, рдЕрд░реНрдерд╛рдд рдЗрд╕реЗ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпреБрдХреНрддрд┐
рдЙрдкрдХрд░рдг [рдордВрдЪ]рдбрд┐рд╡рд╛рдЗрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо - ios, android рдпрд╛ windows_phone
рдЙрдкрдХрд░рдг [udid]рдЕрджреНрд╡рд┐рддреАрдп рдЙрдкрдХрд░рдг рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рднреА рд╡рд░реНрдгрд┐рдд POST рдлрд╝реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВред HMAC-SHA1 рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдмреЙрдбреА рдХреЗ рд░реВрдк рдореЗрдВ, POST рдЕрдиреБрд░реЛрдз рдлрд╝реАрд▓реНрдб рдХрд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ GET рдЕрдиреБрд░реЛрдз рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдЦреЗрддреЛрдВ рдХреЛ рдПрдХ рдПрдореНрдкрд░рд╕реИрдб рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд╝реАрд▓реНрдб рднреА рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдХреНрд░рдордмрджреНрдз рд╣реИрдВред рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд░рд╣рд╕реНрдп рд╣реИ рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

PHP рдореЗрдВ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
$body="application_id=$app_id&auth_key=$auth_key&device[platform]=$device_platform&device[udid]=$device_udid&nonce=$nonce├Чtamp=$timestamp&user[login]=$user_login&user[owner_id]=$owner_id&user[password]=$user_password"; $signature=hash_hmac('sha1',$body,$auth_secret); 

рдпрд╣рд╛рдВ рдЖрдк рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: http://pastebin.com/FhS5YEqR

рд╕рддреНрд░ рдмрдирд╛рддреЗ рд╕рдордп, рд╣рдореЗрдВ рд╕рддреНрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреА рдЬрд╛рддреА рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рд╛рд░реВрдк XML рд╣реИред рд▓реЗрдХрд┐рди, рдЕрдВрддрд┐рдо URI ".json" рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реБрдП, рдЙрддреНрддрд░ JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЖрдПрдЧрд╛ред

рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЕрдиреБрд░реЛрдз рд╣реИ:
 curl -X POST -H "Content-Type: application/json" -d '{"application_id": "2", "auth_key": "DtF9cZPqTF8Wy9Q", "timestamp": "1333630580", "nonce": "1340569516", "signature": "13293a5bd2026b957ebbb36c89d9649aae9e5503", "user": {"login": "injoit", "password": "injoit", "owner_id": "4"}}' https://api.quickblox.com/auth.json 


рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЕрдиреБрд░реЛрдз рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
 { "session": { "application_id": 2, "created_at": "2012-04-03T07:41:12Z", "device_id": null, "id": 744, "nonce": 289239351, "token": "25b29b8c8d6f2d3afbf1d437cc611b23741fc7ee", "ts": 1333438822, "updated_at": "2012-04-03T07:41:13Z", "user_id": 3 } 


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рд▓реЙрдЧрд┐рди рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреЛрдХрди рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 curl -X POST -H "Content-Type: application/json" -d '{"login": "injoit", "password": "injoit", "owner_id": "4", "token": "cf5709d6013fdb7a6787fbeb8340afed8aec4c69"}' http://api.quickblox.com/login.json { "blob_id": null, "created_at": "2012-01-16T08:13:38Z", "custom_parameters": null, "email": null, "external_user_id": 111, "facebook_id": null, "full_name": null, "id": 3, "last_request_at": "2012-04-04T10:27:40Z", "login": "injoit", "owner_id": 4, "phone": null, "twitter_id": null, "updated_at": "2012-04-04T10:27:40Z", "website": null, "user_tags":"superman" } 


рдЙрд╕рдХреЗ рдмрд╛рдж, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреЛрдХрди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЯреЛрдХрди рдмрди рдЬрд╛рдПрдЧрд╛ред

рд╕рддреНрд░ рдХреЛ http://api.quickblox.com/auth_exit рдкрд░ рд╕реАрдзреЗ DELETE рдЕрдиреБрд░реЛрдз рджреНрд╡рд╛рд░рд╛ рдпрд╛ рддреЛ рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдПрдХ рдШрдВрдЯреЗ рдХреА рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдмрд╛рдж рд╕рд┐рд╕реНрдЯрдо рд╕реНрд╡рдпрдВ рдЯреЛрдХрди рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛ред
 curl -X DELETE "https://api.quickblox.com/auth_exit?token=422ce2791d7070b88a82f415b3693c81612e3423" 


рдЗрд╕ рдЦрдВрдб рдХрд╛ рдореБрдЦреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкрд░ рд╣реИ: рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдФрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреГрд╖реНрдаред

рдиреЛрдЯред рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЕрдиреБрд░реЛрдз рдкреИрд░рд╛рдореАрдЯрд░ GET, PUT, POST рдФрд░ DELETE рдореЗрдВ рдЯреЛрдХрди рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЯреЛрдХрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд╕реНрдерд╛рди рдЕрдиреБрд░реЛрдз рд╣реЗрдбрд░ рд╣реИред
 curl -X POST -H "QB-Token: cf5709d6013fdb7a6787fbeb8340afed8aec4c69" 

рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрд░рдХреНрд╖рд╛ рдЕрджреНрдпрддрди рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рднреА рдореМрдЬреВрджрд╛ рдПрд╕рдбреАрдХреЗ рдФрд░ рдирдореВрдиреЗ рддрджрдиреБрд╕рд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред

рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рдХрд┐рд╕реА рднреА рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП, рдЖрдкрд╕реА рд╕рд╣рдпреЛрдЧ рдпрд╛ рдмрд╕ QuickBlox рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдореБрдЭрд╕реЗ korjik рдФрд░ Taras qbtarzan рдпрд╛ рдИрдореЗрд▓ andrey.kozhokaru@quickblox.com рдкрд░ рд╕рдВрдкрд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/In144038/


All Articles