OAuth 2.0 рдХреЛ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИ

OAuth 2.0 рд▓реЛрдЧреЛ

рд╣рд╛рдм рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА OAuth 1.0 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреЗ OAuth 2.0 рдХрд╛ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдирд╣реАрдВ рдерд╛ред рдиреАрдЪреЗ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ OAuth 2.0 рдХреЗ рдЕрдВрддрд░ рдФрд░ рдлрд╛рдпрджреЗ рдХреНрдпрд╛ рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд╛рдЗрдЯреЛрдВ рдкрд░, рдореЛрдмрд╛рдЗрд▓ рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

OAuth 2.0 рдХреНрдпрд╛ рд╣реИ


OAuth 2.0 рдПрдХ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ рдЬреЛ рдПрдХ рд╕реЗрд╡рд╛ (рдПрдкреНрд▓рд┐рдХреЗрд╢рди) рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реЗрд╡рд╛ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдЕрдзрд┐рдХрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХрд╛ рдПрдХ рд╕реАрдорд┐рдд рд╕реЗрдЯ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рд╕рднреА рдПрдХ рдмрд╛рд░ рдореЗрдВ рдирд╣реАрдВред


OpenID рдФрд░ OAuth рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ


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

OpenID рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИ - рдЕрд░реНрдерд╛рдд, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХреМрди рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдУрдкрдирдЖрдИрдбреА рдХреА рдорджрдж рд╕реЗ, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдУрд▓реЛрд▓реЛ рд╕реЗрд╡рд╛ рд╕рдордЭ рд╕рдХрддреА рд╣реИ рдХрд┐ рдЬрд┐рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╡рд╣рд╛рдВ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ Mail.Ru рд╕реЗ рд░реЛрдорд╛ рдиреЛрд╡рд┐рдХреЛрд╡ рд╣реИред рдЕрдЧрд▓реЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдореЗрдВ, рдУрд▓реЛрд▓реЛ рдЙрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкрд╣рдЪрд╛рдирдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдпрд╣ рдЖрдЦрд┐рд░реА рдмрд╛рд░ рдХреЗ рд╕рдорд╛рди рд░реЛрдорд╛ рд╣реИред

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

рдХреИрд╕реЗ OAuth 2.0 рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ


рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддрд░рд╣, OAuth 2.0 рдмреБрдирд┐рдпрд╛рджреА рд╡реЗрдм рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ: HTTP рдЕрдиреБрд░реЛрдз, рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ, рдЖрджрд┐ред рдЗрд╕рд▓рд┐рдП, OAuth рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрдВрдЯрд░рдиреЗрдЯ рдФрд░ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рдордВрдЪ рдкрд░ рд╕рдВрднрд╡ рд╣реИ: рд╕рд╛рдЗрдЯреЛрдВ рдкрд░, рдореЛрдмрд╛рдЗрд▓ рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП ...

OAuth 1.0 рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╕рд░рд▓рддрд╛ рд╣реИред рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рднрд╛рд░реА рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдпреЛрдЬрдирд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рд╣реЛ рдЧрдИ рд╣реИред

OAuth рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рд╕рд╛рдорд╛рдиреНрдп рдпреЛрдЬрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
  1. рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
  2. рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ

рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЯреЛрдХрди рд╣реИ - рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреБрдВрдЬреА (рдЖрдорддреМрд░ рдкрд░ рдкрд╛рддреНрд░реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ), рдЬрд┐рд╕рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рд╕ рд╣реИред рд╕рд░рд▓рддрдо рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ HTTPS рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣реЗрдбрд░ рдореЗрдВ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдореЗрдВ рд╕реЗ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВред

рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдХрдИ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ:


рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдзрд┐рдХрд░рдг


рд╕рд░реНрд╡рд░ рднрд╛рдЧ рд╡рд╛рд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдпреЛрдЬрдирд╛
  1. рд▓реЙрдЧрд┐рди рдкреЗрдЬ рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░реЗрдВ
  2. рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреГрд╖реНрда рдкрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
  3. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕рд╣рдорддрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЬреАрдЖрд░рдИ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреБрдВрдЬреА рдХреЗ рдЕрд▓рд╛рд╡рд╛ - рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛрдб рдЦреЛрд▓рддреЗ рд╕рдордп рдирд┐рд░реНрджрд┐рд╖реНрдЯ URL рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░реЗрдЧрд╛ - рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛрдб
  4. рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ POST рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЕрдиреБрд░реЛрдз рдкрд╣реБрдБрдЪ рдЯреЛрдХрди рд▓реМрдЯрд╛рддрд╛ рд╣реИ

рдпрд╣ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд╛ рд╕рдмрд╕реЗ рдХрдард┐рди рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдпрд╣ рд╕реЗрд╡рд╛ рдХреЛ рдЙрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ (рдпрд╣ рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдХрд░рддреЗ рд╕рдордп рд╣реЛрддрд╛ рд╣реИ)ред рдЕрдиреНрдп рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдФрд░, рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЖрд╡реЗрджрди рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдорд╛рд╕реНрдХ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рд╕реЗрд╡рд╛рдУрдВ рдПрдкреАрдЖрдИ рдореЗрдВ OAuth рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЙрджрд╛рд╣рд░рдг

рдпрд╣рд╛рдВ рдФрд░ рдЖрдЧреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг Mail.Ru API рдХреЗ рд▓рд┐рдП рджрд┐рдП рдЧрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рддрд░реНрдХ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реИ, рдХреЗрд╡рд▓ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреГрд╖реНрдареЛрдВ рдХреЗ рдкрддреЗ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдиреБрд░реЛрдз HTTPS рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП ред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреГрд╖реНрда рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реЗрдВ:
 > GET / oauth / рдЕрдзрд┐рдХреГрдд рдХрд░реЗрдВ? Response_type = code & client_id = 464119 рдФрд░
       redirect_uri = http% 3A% 2F% 2Fexample.com% 2Fcb% 2F123 HTTP / 1.1
 > рд╣реЛрд╕реНрдЯ: connect.mail.ru

рдЗрд╕рдХреЗ рдмрд╛рдж, client_id рдФрд░ client_secret рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддреЗ рд╕рдордп рдкреНрд░рд╛рдкреНрдд рдорд╛рди рд╣реИрдВред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рдХрд╛рд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд_ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ:
 <HTTP / 1.1 302 рдорд┐рд▓рд╛
 <рд╕реНрдерд╛рди: http://example.com/cb/123?code=DoRieb0y


рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк OAuth рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕рд╛рдЗрдЯ рдкрд░ рд▓реЙрдЧрд┐рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ CSRF рд╣рдорд▓реЛрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ 123) рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП redirect_uri рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░, рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ рдФрд░ рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред

рд╣рдо рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рдЕрдиреБрд░реЛрдз рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ access_token рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:
 > POST / oauth / рдЯреЛрдХрди HTTP / 1.1
 > рд╣реЛрд╕реНрдЯ: connect.mail.ru
 > рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдЖрд╡реЗрджрди / x-www-form-urlencoded
 > 
 > рдЕрдиреБрджрд╛рди_рдкреНрд░рдХрд╛рд░ = рдкреНрд░рд╛рдзрд┐рдХрд░рдг_рдХреЛрдб рдФрд░ рдореБрд╡рдХреНрдХрд┐рд▓_рд┐рдж = рекремрекрезрез реп рдФрд░ рдореБрд╡рдХреНрдХрд┐рд▓_рд╕реЗрдХреНрд░реЗрдЯ = рдбреЗрдбрдмреАрдл рдПрдВрдб рдХреЛрдб = рдбреЛрд░реАрдмреА реж рдПрдВрдб
   redirect_uri = http% 3A% 2F% 2Fexample.com% 2Fcb% 2F123

 <HTTP / 1.1 200 рдареАрдХ рд╣реИ
 <рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдЖрд╡реЗрджрди / json
 <
 <{
 <"access_token": "SlAV32hkKG",
 <"рдЯреЛрдХрди_рдЯрд╛рдЗрдк": "рдмрд┐рдпрд░рд░",
 <"expires_in": 86400,
 <"рддрд╛рдЬрд╝рд╛_рдЯреЛрдХрди": "8xLOxBtZp8",
 <}


рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдВрддрд┐рдо рдЕрдиреБрд░реЛрдз client_secret рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ, рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред

рдЕрдВрддрд┐рдо рдЕрдиреБрд░реЛрдз рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдо рдкрд╣реБрдВрдЪ рдХреБрдВрдЬреА ( access_token ), рдЗрд╕рдХреЗ "рд▓реБрдкреНрдд рд╣реЛрддреА" ( expires_in ) рдХрд╛ рд╕рдордп рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдХреБрдВрдЬреА рдХрд╛ рдкреНрд░рдХрд╛рд░ рдЬреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ( token_type ) рдФрд░ refresh_token , рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреАрдЪреЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Mail.Ru API:
 > GET /platform/api?oauth_token=SlAV32hkKG&client_id=464119&format=json&method=users.getInfo&
       sig = ... HTTP / 1.1
 > рд╣реЛрд╕реНрдЯ: appsmail.ru

рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╡рд┐рд╡рд░рдг

рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧреНрд░рд╛рд╣рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг


рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧреНрд░рд╛рд╣рдХ рднреБрдЧрддрд╛рди рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдпреЛрдЬрдирд╛
  1. рдПрдХ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреГрд╖реНрда рдХреЗ рд╕рд╛рде рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреЛрд▓рдирд╛
  2. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рдЕрдиреБрджрд╛рди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
  3. рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╣рдордд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦрдВрдб рдореЗрдВ рдкреГрд╖реНрда (# рдХреЗ рдмрд╛рдж) рдореЗрдВ рд╕реНрдЯрдм рдкреГрд╖реНрда рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕рдХрд╛ URL рдЯреЛрдХрди рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ
  4. рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреЗрдЬ рдПрдбреНрд░реЗрд╕ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ

рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдХреЛ рдКрдкрд░ рдЙрдард╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд░ рдЯреЛрдХрди рдФрд░ рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛрдб рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд░реНрд╡рд░-рд╕рд░реНрд╡рд░ рдХреЙрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдЙрджрд╛рд╣рд░рдг

рдПрдХ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреГрд╖реНрда рд╡рд╛рд▓рд╛ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреЛрд▓реЗрдВ:
 > GET / oauth / рдЕрдзрд┐рдХреГрдд рдХрд░реЗрдВ? Response_type = token & client_id = 464119 HTTP / 1.1
 > рд╣реЛрд╕реНрдЯ: connect.mail.ru


рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рдж, рдорд╛рдирдХ рд╕реНрдЯрдм рдкреГрд╖реНрда рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, Mail.Ru рдХреЗ рд▓рд┐рдП, рдпрд╣ connect.mail.ru/oauth/success.html рд╣реИ :
 <HTTP / 1.1 302 рдорд┐рд▓рд╛
 <рд╕реНрдерд╛рди: http://connect.mail.ru/oauth/success.html#access_token=FJQbwq9&token_type=bearer&
             expires_in = 86400 рдФрд░ рд░рд┐рдлреНрд░реЗрд╢_рдЯреЛрдХрди = yaeFa0gu


рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЕрдВрддрд┐рдо рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХреЛ рд░реЛрдХрдирд╛ рдЪрд╛рд╣рд┐рдП, acess_token рдкрддреЗ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╡рд┐рд╡рд░рдг

рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╛рдзрд┐рдХрд░рдг


рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдПрдХ рд╕рд░рд▓ POST рдЕрдиреБрд░реЛрдз рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдкрд╣реБрдВрдЪ рдЯреЛрдХрди рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рдпреЛрдЬрдирд╛ рдХреЛрдИ рдирдИ рдмрд╛рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдорд╛рдирдХ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рддрдм рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЕрдиреНрдп рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╡рд┐рдХрд▓реНрдк рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг

 > POST / oauth / рдЯреЛрдХрди HTTP / 1.1
 > рд╣реЛрд╕реНрдЯ: connect.mail.ru
 > рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдЖрд╡реЗрджрди / x-www-form-urlencoded
 > 
 > allow_type=password&client_id=31337&client_secret=deadbeef&username=api@corp.mail.ru&
   рдкрд╛рд╕рд╡рд░реНрдб = рдорд╛рддреНрд░рд╛

 <HTTP / 1.1 200 рдареАрдХ рд╣реИ
 <рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдЖрд╡реЗрджрди / json
 <
 <{
 <"access_token": "SlAV32hkKG",
 <"рдЯреЛрдХрди_рдЯрд╛рдЗрдк": "рдмрд┐рдпрд░рд░",
 <"expires_in": 86400,
 <"рддрд╛рдЬрд╝рд╛_рдЯреЛрдХрди": "8xLOxBtZp8",
 <}

рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╡рд┐рд╡рд░рдг

рдкрд┐рдЫрд▓реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


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

рдЙрджрд╛рд╣рд░рдг

 > POST / oauth / рдЯреЛрдХрди HTTP / 1.1
 > рд╣реЛрд╕реНрдЯ: connect.mail.ru
 > рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдЖрд╡реЗрджрди / x-www-form-urlencoded
 > 
 > рдЕрдиреБрджрд╛рди_рдкреНрд░рдХрд╛рд░ = рддрд╛рдЬрд╝рд╛_рдЯреЛрдХрди рдФрд░ рдореБрд╡рдХреНрдХрд┐рд▓_рдж = рейрезрейрей client рдФрд░ рдЧреНрд░рд╛рд╣рдХ_рд╕реЗрдХреНрд░реЗрдЯ = рдбреЗрдбрдмреАрдл рдФрд░ рд░рд┐рдлреНрд░реЗрд╢_рдЯреЛрдХреЗрди = xxLOxBtZp8

 <HTTP / 1.1 200 рдареАрдХ рд╣реИ
 <рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдЖрд╡реЗрджрди / json
 <
 <{
 <"access_token": "Uu8oor1i",
 <"рдЯреЛрдХрди_рдЯрд╛рдЗрдк": "рдмрд┐рдпрд░рд░",
 <"expires_in": 86400,
 <"рддрд╛рдЬрд╝рд╛_рддреЛрдХреЗрди": "рдУрд╣реЛрд╡реЛрд╣реЛрд╣реНрд░",
 <}

рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╡рд┐рд╡рд░рдг

OAuth 2.0 рдХрд╛ рд╡рд┐рдкрдХреНрд╖


рдЗрд╕ рд╕рдм рд╕реБрдВрджрд░рддрд╛ рдореЗрдВ рдорд░рд╣рдо рдореЗрдВ рдПрдХ рдордХреНрдЦреА рд╣реИ, рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд╣рд╛рдВ?

OAuth 2.0 рдПрдХ рд╡рд┐рдХрд╕рд┐рдд рдорд╛рдирдХ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдЕрднреА рддрдХ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ рдФрд░ рд▓рдЧрд╛рддрд╛рд░ рдмрджрд▓ рд░рд╣рд╛ рд╣реИ, рдХрднреА-рдХрднреА рдХрд╛рдлреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЕрднреА рдорд╛рдирдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдПрдВ рдХрд┐ рдЗрд╕рдХреЗ рд╕рдорд░реНрдерди рдХреЛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рджреВрд╕рд░реА рдУрд░, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рд╣реИ рдХрд┐ рдЖрдк рдорд╛рдирдХ рд▓рд┐рдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдЗрд╕рдореЗрдВ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

OAuth 2.0 рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рдлреА рд╣рдж рддрдХ SSL рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдЬреАрд╡рди рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдФрд░ рдкреНрд░рд╢рд╛рд╕рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЕрддреНрдпрдзрд┐рдХ рднрд░реА рд╣реБрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


OAuth рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдорд╛рдирдХ рд╣реИ, рдЬреЛ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдордВрдЪ рдкрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдорд╛рдирдХ рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕рд╛рдЗрдЯреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рд╣реИ рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЗрд╡рд▓ рдмрдврд╝реЗрдЧреАред рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ, рддреЛ OAuth 2.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред

рд╣рдорд╛рд░реЗ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ Mail.Ru API рдореЗрдВ OAuth 2.0 рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЕрдм рдЖрдк Mail.Ru рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд┐рд╕реА рднреА рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдВрджрд░реНрдн



рджрд┐рдорд┐рддреНрд░реА рдмрд┐рдЯрдореИрди - рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдореИрдиреЗрдЬрд░ Mail.Ru

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


All Articles