Oauthlib: рд╕рдореБрджрд╛рдп рдХреЗ рд╕рджрд╕реНрдп - рдЧрддрд┐рд╡рд┐рдзрд┐

рдХреЛ рдирд┐рд░реНрдорд┐рдд 21 рдордИ 2019  ┬╖  33рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: oauthlib/oauthlib

рд╣рд╛рдп @ oauthlib/core-contributors, рдореИрдВ рдпрд╣ рдкреНрд░рд╕реНрддрд╛рд╡ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рднреА рдкреНрд░рдореБрдЦ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдЦрд┐рд▓рд╛рдбрд╝реА oauthlib рд╕рдореВрд╣ рдореЗрдВ рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рдПрдВред

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

рдиреАрдЪреЗ рд╕рдХреНрд░рд┐рдп рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП:

  • @ рдЬреИрдЬрд╝рдмреИрдВрдб/django-oauth-toolkit
  • @singingwolfboy/рдлреНрд▓рд╛рд╕реНрдХ-рдбрд╛рдВрд╕ (@requests/request-oauthlib рд╢рд╛рдорд┐рд▓ рд╣реИрдВ)
  • @ рдереЙрдорд╕рдирд░реЗрдпреВрдЯрд░реНрд╕/рдмреЛрддрд▓-рдУрдерд▓рд┐рдм (рдпрд╣ рдЧрд┐рдирддреА рдирд╣реАрдВ рд╣реИ, рд╡рд╣ рдореИрдВ рд╣реВрдВ)

рдореЗрд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ:

  • рд╕рднреА рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдХреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХреЛрдВ рдХреЛ oauthlib рдХреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
  • рдкреНрд░рддреНрдпреЗрдХ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдХреЗ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ oauthlib рдХреА рд▓реЗрдЦрди рдкрд╣реБрдВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ oauthlib рдврд╛рдВрдЪреЗ рдХреЛ рд╕рд╛рдВрд╕ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЬрдЧрд╣ рджреЗрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рддреБрдо рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реЛ ?

рдкрд┐рдВрдЧ @singingwolfboy , @daenney , @jleclanche , @synasius , ...?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@denizdogan @duaneking Auth0 Authlib рдХрд╛ рд╕рд┐рд░реНрдл рдПрдХ рдкреНрд░рд╛рдпреЛрдЬрдХ рд╣реИ, рдЗрд╕рдХрд╛ "рдирд┐рдпрдВрддреНрд░рдг" "рдкреНрд░рдмрдВрдзрди" "рд▓рд╛рдЗрд╕реЗрдВрд╕" рдпрд╛ Authlib рдХреА рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред рдЖрдк рдЗрд╕реЗ рдПрдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВред

Auth0 рдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХреАрдХрд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭрд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдЖрдкрдХреЛ Authlib рдореЗрдВ рдХреЛрдИ auth0 рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдЧрд╛ред рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдЬрд╛рдирдХрд╛рд░реА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реИ, рдЖрдк https://www.patreon.com/lepture рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреИрд╕реЗ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдИ рднреА patreon рдпрд╛ GitHub рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореЗрд░рд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдпрд╣ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд░реАрдбрдореА рдкрд░ рдПрдХ рдФрд░ рдкреНрд░рд╛рдпреЛрдЬрдХ Authing рд╣реИред

рдФрд░ OAuthlib рд╕реНрд╡рдпрдВ рднреА Auth0 рдкреНрд░рд╛рдпреЛрдЬрд┐рдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ: https://pyjwt.readthedocs.io/en/latest/

рд╕рднреА 33 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбреЙрдЯ рдХреЛ oauthlib org рдкрд░ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реВрдВред рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЬреИрдЬрд╝рдмреИрдВрдб рдореЗрдВ рд╣реИ рдЬреЛ рдЕрдзрд┐рдХ рдпрд╛ рдПрдлрдПрдлрдП рдпреЛрдЧрджрд╛рди рд╕рдВрдЧрдарди рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рд╢реБрд░реВ рдореЗрдВ рд╡рд╣рд╛рдВ рд▓реЗ рдЬрд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдореВрд▓ рд╕рдВрдЧрдарди рдореЗрдВ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдерд╛ред

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

@jleclanche , рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ oauthlib org рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рд░рдЦрд░рдЦрд╛рд╡ рдХрд╛рд░реНрдп (рджрд╕реНрддрд╛рд╡реЗрдЬрд╝, рдЯреВрд▓реАрдВрдЧ, рд▓рд┐рдВрдХ, ...) рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдмреЙрдЯрд▓-рдУрдерд▓рд┐рдм рдХреЛ рд╕рдВрдЧрдарди рдореЗрдВ рднреА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@daenney , рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдареАрдХ рд╣реИ! рдореИрдВ рдХрд┐рд╕реА рднреА рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ OAuth рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдм рдХреБрдЫ рдЬрд╛рдирдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░рддрд╛, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ libs рдФрд░ oauthlib рдХреЗ рдмреАрдЪ рдкрд╛рдпрдерди рдПрдкреАрдЖрдИ рд╣реИред рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдкрд░ рдПрдХ рд╢рдмреНрдж рд╣реИрдВ, рдФрд░ рдЗрд╕ рднрд╛рдЧ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдирд╛ - рдПрдкреАрдЖрдИ - рдлреНрд▓рд╛рд╕реНрдХ-рдбрд╛рдВрд╕ рдФрд░ рдЕрдиреНрдп рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдлрд╛рдпрджреЗрдордВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдореБрдЭреЗ рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ! рдореИрдВ рдЗрди рджрд┐рдиреЛрдВ рдлреНрд▓рд╛рд╕реНрдХ-рдбрд╛рдВрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рд╕рдордп рдирд╣реАрдВ рд▓рдЧрд╛рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕ рд╕рдордп рд╡реНрдпрдХреНрддрд┐рдЧрдд рдпрд╛ рдкреЗрд╢реЗрд╡рд░ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рднреА рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдлрд┐рд░ рднреА, рдореИрдВ рдЕрднреА рднреА рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ @daenney рдПрдХ рдмрдбрд╝реА рдорджрдж рд░рд╣реА рд╣реИред (рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рдж!)

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ requests-oauthlib рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХреБрдЫ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реЛрдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рдПрдХ рдФрд░ рд╕рд╡рд╛рд▓: рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЯрд╛рдЗрдбрд▓рд┐рдлреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦрд╛ рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рдлреНрд▓рд╛рд╕реНрдХ-рдбрд╛рдВрд╕ рдХреЗ рдЕрдиреБрд░рдХреНрд╖рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдирдХреЗ рдордВрдЪ рдХреЗ рд╕рд╛рде рд╕рд╛рдЗрди рдЕрдк рдХрд┐рдпрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ requests-oauthlib рдХреЗ рд▓рд┐рдП рднреА рдРрд╕рд╛ рд╣реА рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдЗрд╕рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ?

рд╕рдЪ рдХрд╣реВрдВ рддреЛ, рдЕрдЧрд░ рдореБрдЭреЗ рд╕рдордп рдФрд░ рдкреНрд░реЗрд░рдгрд╛ рдорд┐рд▓рддреА рд╣реИ, рддреЛ рдореИрдВ requests-oauthlib рдХреЛрдбрдмреЗрд╕ рдФрд░ рдкреНрд░рд▓реЗрдЦрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ -- рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╣рд▓реЗ рдХреЗ рдмрд┐рдВрджреБ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдм рдпрд╛ рдХрднреА рднреА рдорд┐рд▓реВрдВрдЧрд╛ред

@singingwolfboy , рдЯрд╛рдЗрдбрд▓рд┐рдлреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рд╣реИред

рдпрджрд┐ рдХрд┐рд╕реА рдХреЛ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рджреЛ-рдЪрд╛рд░ рд▓рд┐рдЦрд┐рдд рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░реВрдВрдЧрд╛ред рдкреЛрдХ @thedrow , @skion , @duaneking , @wiliamsouzaред

рдореИрдВ рдЗрд╕рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЖрдЧреЗ рдХрдо рд╕рдордп рдмрд┐рддрд╛ рд╕рдХреВрдВрдЧрд╛ред

рдореИрдВ рдЕрдиреБрд░реЛрдз-oauthlib рднрдВрдбрд╛рд░ рдкрд░ рдЧрд┐рдЯрд╣рдм рдкреНрд░рд╛рдпреЛрдЬрдХ рдмрдЯрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЧрд┐рдЯрд╣рдм рдкрд░ рдЙрд╕ рд░реЗрдкреЛ рдХреЗ рд╕реЗрдЯрд┐рдВрдЧ рдкреГрд╖реНрда рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЪрд╛рд▓реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдореБрдЭреЗ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддрд╛ рд╣реИ?

рдореИрдВрдиреЗ рдХреБрдЫ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ oauthlib org рдореЗрдВ рдЖрдордВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЕрдЧрд░ рдореБрдЭреЗ рдХрд┐рд╕реА рдХреА рдпрд╛рдж рдЖрддреА рд╣реИ, рдпрд╛ рдЕрдЧрд░ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЛ рдкрдврд╝рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдУрдерд▓рд┐рдм рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрддрд╛ рд╣реИ, рдпрд╛ рддреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдУрд░ рд╕реЗ рдпрд╛ рдЕрдкрдиреА рдУрд░ рд╕реЗ, рдХреГрдкрдпрд╛ рдпрд╣рд╛рдВ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ рдпрд╛ рдореБрдЭреЗ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдВ!

рдзрдиреНрдпрд╡рд╛рдж

@singingwolfboy рдХреГрдкрдпрд╛ рддрджрдиреБрд╕рд╛рд░ FUNDING.yml рдлрд╝рд╛рдЗрд▓ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред

@thedrow рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

  • _рдХреМрди рд╕реА_ FUNDING.yml рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдк рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
  • рдЖрдк рдореБрдЭреЗ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ?
  • рдХреНрдпрд╛ рдЖрдк рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рддрд╛рдХрд┐ рдЖрдк рдЙрди рд╕рдВрдкрд╛рджрдиреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХреЗрдВ рдЬреЛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП?
  • рдЕрдВрдд рдореЗрдВ, рдХреНрдпрд╛ рдпрд╣ рдЪрд░реНрдЪрд╛ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ GitHub рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ?
  • https://github.com/oauthlib/oauthlib/blob/master/.github/FUNDING.yml
  • рдПрдХ рдкреАрдЖрд░ рдареАрдХ рд╣реЛрдЧрд╛ред рд╣рдореЗрдВ рдПрдХ рдУрдкрди рдХрд▓реЗрдХреНрдЯрд┐рд╡ рдЕрдХрд╛рдЙрдВрдЯ рдЦреЛрд▓рдирд╛ рд╣реЛрдЧрд╛ред
  • рдирд╣реАрдВред рд╣рдореЗрдВ рдПрдХ рдирдпрд╛ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдкреЛрдХ @singingwolfboy , рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдиреБрд░реЛрдзреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ-oauthlib, рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рд╕рдорд╛рди рдЕрдиреБрдорддрд┐ рдХреМрди рджреЗ рд╕рдХрддрд╛ рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдореБрдЭреЗ рдореБрджреНрджреЛрдВ/рдкреАрдЖрд░ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЦрд╛рд▓реА рд╕рдордп рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдХрд░реВрдВрдЧрд╛ред

CC'ing @jezdez рдпрд╣рд╛рдБ; рдбреАрдУрдЯреА рдХреЛ рдЬреИрдЬрд╝рдмреИрдВрдб рд╕реЗ рдпрд╣рд╛рдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдИрдЖрд░рд╕реА рдкрд░ рдкрд╣реБрдВрдЪреЗред

@jleclanche , @jezdez , рдЕрдм рддрдХ рдХреЛрдИ рдкреНрд░рдЧрддрд┐?
@singingwolfboy , рдЕрдиреБрд░реЛрдз-oauthlib рд╕реНрд╡рд╛рдорд┐рддреНрд╡/рд▓рд┐рдЦрдиреЗ рдХреА рдкрд╣реБрдВрдЪ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

рдзрдиреНрдпрд╡рд╛рдж

@JonathanHuot : рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ @ sigmavirus24 рдиреЗ рдореБрдЭреЗ рдЕрдиреБрд░реЛрдз-oauthlib рд░реЗрдкреЛ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рдХреЗ рд▓рд┐рдП рдУрдкрди рд╕реЛрд░реНрд╕ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд╕реЗ рдЕрдВрддрд░рд╛рд▓ рдкрд░ рд╣реИ ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╕рдорд░реНрдерди рдЪреИрдирд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ, рдЖрдИрдЖрд░рд╕реА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХреЛ рдРрд╕рд╛ рд╕рдордп рдорд┐рд▓ рдЬрд╛рдП рдЬрдм рдПрдХ рдЕрдиреБрд░рдХреНрд╖рдХ рдСрдирд▓рд╛рдЗрди рд╣реЛ: #python-requests

рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╛рдЪрд╛рд░реЛрдВ рдореЗрдВ, @jtroussard рдиреЗ рдореБрдЭреЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдХрд┐ рд╡рд╣ рдПрдХ рдЕрдиреБрд░рдХреНрд╖рдХ рдмрдирдиреЗ рдореЗрдВ рднреА рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрд╕реЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИред рд╡рд╣ рдФрд░ рдореИрдВ рд╡реАрдбрд┐рдпреЛ рдЪреИрдЯ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдореИрдВ рдЙрдирдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗ рд╕рдХреВрдВ рдФрд░ рдЬрд┐рддрдирд╛ рд╣реЛ рд╕рдХреЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рдЙрдирдХреА рдорджрдж рдХрд░ рд╕рдХреВрдВред

рдбреАрдУрдЯреА рдХреЛ рдЬреИрдЬрд╝рдмреИрдВрдб рд╕реЗ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рдиреЗ рдореЗрдВ рдореБрдЭреЗ @jezdez рд╕реЗ рдХреЛрдИ рдЬрд╡рд╛рдм рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рдЗрд╕ рдкрд░ рдЕрдиреБрд╡рд░реНрддреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░реЗрдЧрд╛, рдпрд╣рд╛рдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рджрд░реНрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реИ ?

рд╣рд╛рдп рджреЛрд╕реНрддреЛрдВ, рдЖрдк рд╕рднреА рдХреЛ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рдореИрдВ рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ django-oauth-toolkit рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЬреИрдЬрд╝рдмреИрдВрдб рдореЗрдВ рдирд╣реАрдВ рд╣реИред рдЬреИрдЬрд╝рдмреИрдВрдб рдХреА "рдУрдкрди рдбреЛрд░" рдиреАрддрд┐рдпреЛрдВ рдХреЗ рд╣рд┐рдд рдореЗрдВ (рдореВрд▓ рд░реВрдк рд╕реЗ рд╣рд░ рдХреЛрдИ рдЬреИрдЬрд╝рдмреИрдВрдб рдЧрд┐рдЯрд╣рдм рд╕рдВрдЧрдарди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕реАрдзреЗ рдпреЛрдЧрджрд╛рди рджреЗ рд╕рдХрддрд╛ рд╣реИ), рдЬреИрдЬрд╝рдмреИрдВрдб рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рд╕реЗ django-oauth-toolkot рдХреЛ oauthlib рд╕рдВрдЧрдарди рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдореЛрджрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдПрдХ рд╕рдордЭрджрд╛рд░реА рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдВред

рдореИрдВ @synasius (рдЬрд┐рд╕рдиреЗ рд░реЗрдкреЛ рдХреЛ рдЙрд╕рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕реНрдерд╛рди рд╕реЗ рдЬреИрдЬрд╝рдмреИрдВрдб рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдерд╛) рдФрд░ рд╡рд░реНрддрдорд╛рди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓реАрдб @MattBlack85 рд╕реЗ рдЗрд╕ рдХрджрдо рдХреА рдкреБрд╖реНрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рднреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдХреГрдкрд╛рдкреВрд░реНрд╡рдХ рдХрджрдо рдмрдврд╝рд╛рдпрд╛ред

рдпрд╣рд╛рдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рд╕рд╣рд┐рдд рдЬреИрдЬрд╝рдмреИрдВрдб рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рджрд┐рди рд╕реЗ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ: https://github.com/jazzband/django-oauth-toolkit/compare/master@%7B04-18-18 %7рдбреА...рдорд╛рд╕реНрдЯрд░

@jleclanche рдЪреВрдВрдХрд┐ рдЖрдк рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдереЗ рдФрд░ рдЖрдкрдиреЗ IRC рдкрд░ рдФрд░ рдпрд╣рд╛рдВ oauthlib org рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрд╛ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдкреБрд╖реНрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд┐рдХрдЯ рдореЗрдВ рдЗрди рд▓реЛрдЧреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреИрд░ рдХрд╛ рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВрдЧреЗ?

рдореИрдВ рдЕрднреА 5 рджрд┐рд╕рдВрдмрд░ рддрдХ рджреВрд░ рд╣реВрдВред рдореБрдЭреЗ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕ рддрд╛рд░реАрдЦ рдХреЗ рдмрд╛рдж рдХреБрдЫ рд▓реЗрдЧрд╡рд░реНрдХ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИ!

рдореИрдВрдиреЗ рдЕрднреА @denizdogan рд╕реЗ рдмрд╛рдд рдХреА рд╣реИ, рдФрд░ рд╡рд╣ рднреА request-oauthlib рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИред рд╡рд╣ рдФрд░ рдореИрдВ рджреЛрдиреЛрдВ рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдореМрдЬреВрджрд╛ рдХреЛрдб рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ, рдФрд░ рдПрдХ рдЧреНрд░рд╛рдЙрдВрдб-рдЕрдк рдкреБрдирд░реНрд▓реЗрдЦрди рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдЬреЛ рд╣рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫреЗ рдбреЗрд╡рд▓рдкрд░ рдПрдкреАрдЖрдИ рдмрдирд╛рдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╡рд╣ рдПрдХ рдирдпрд╛ рднрдВрдбрд╛рд░ рдмрдирд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ _may_ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдЕрдиреБрд░реЛрдз-oauthlib рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рджреЗрдЧрд╛ред

рд╢рд╛рдпрдж рдкрд░рд┐рдпреЛрдЬрдирд╛ async рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП httpx рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддреА рд╣реИ?

@thedrow рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВ рдЕрдкрдиреЗ рдЦрд╛рд▓реА рд╕рдордп рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореВрд▓ рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдПрдХ рдкреБрдирд░реНрд▓реЗрдЦрди-oauthlib рд▓реЗрдХрд┐рди httpx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреНрдп рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдвреВрдВрдврддрд╛ рд╣реВрдВред рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдирд╛рдо рджрд┐рд▓рдЪрд╕реНрдк рд░реВрдк рд╕реЗ httpx-oauthlib рд╣реИ (рдЕрднреА рддрдХ рдХреЛрдИ рдХреЛрдб рдСрдирд▓рд╛рдЗрди рдирд╣реАрдВ рд╣реИ)ред

рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЦреБрд▓рд╛ рдФрд░ рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпреЛрдВ рдЕрдиреБрд░реЛрдз-рдУрдерд▓рд┐рдм рдХреЛ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдореИрдВ 20/20 рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ рдмреЗрд╣рддрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдкреАрдЫреЗ рдХреА рд╕рдВрдЧрддрддрд╛ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ . рдЗрд╕ рдкрд░ рдореЗрд░реЗ рдХрд╛рдо рдХреЛ рдХрд┐рд╕реА рдФрд░ рдХреЛ рд╡рд╣реА рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдордд рд░реЛрдХреЛ, рдХреНрдпреЛрдВрдХрд┐ рддреБрдо рд╢рд╛рдпрдж рдореБрдЭрд╕реЗ рдмреЗрд╣рддрд░ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реЛред :)

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

рдпрд╣ рдПрдХ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдкреНрд░рд╢реНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рдкреВрдЫрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рдХреНрдпрд╛ рдЕрдм Authlib рдореЗрдВ рдХреБрдЫ рдХрдореА рд╣реИ? рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдУрдПрде рд╕рд░реНрд╡рд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдЕрдкрдиреА рдЯреИрдЧрд▓рд╛рдЗрди рдореЗрдВ рдзрдХреНрдХрд╛ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдЬрдХрд▓ рдЗрд╕рдореЗрдВ рди рдХреЗрд╡рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдорд░реНрдерди рд╣реИ, рдмрд▓реНрдХрд┐ рдлреНрд▓рд╛рд╕реНрдХ рдФрд░ рдбреАрдЬреЗрдЧреЛ рдПрдХреАрдХрд░рдг, рдПрд╕рд┐рдВрдХ HTTPX рд╕рдорд░реНрдерди, рдкреАрдХреЗрд╕реАрдИ рд╕рдорд░реНрдерди, рдУрдкрдирдЖрдИрдбреА рдХрдиреЗрдХреНрдЯ рдЗрддреНрдпрд╛рджрд┐ рднреА рд╣реИред рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ @lepture рджреНрд╡рд╛рд░рд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕рдиреЗ рджреЛ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдкрд╣рд▓реЗ рдПрдХ рдХрд╛рдВрдЯрд╛ рдмрдирд╛рдпрд╛ рдерд╛ред

рдореИрдВ рдкрд╣рд▓реЗ рдХрд░реАрдм рд╕реЗ рди рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рдереЛрдбрд╝рд╛ рд▓рд╛рдд рдорд╛рд░ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдЦрд╛рд▓реА рд╕рдордп рдХреЗ рдХреБрдЫ рдШрдВрдЯреЗ httpx-oauthlib рдмрдирд╛рдиреЗ рдореЗрдВ рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд▓рдЧрддрд╛ рд╣реИред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рдСрдерд▓рд┐рдм рдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рд╣реИ, рд╡рд╣ рдЙрд╕ рдЪреАрдЬрд╝ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛, рдФрд░ рдХрднреА-рдХрднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдореИрдВ рдпрд╣ рдХрд╣рдиреЗ рдХреА рд╣рд┐рдореНрдордд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╢рд╛рдпрдж рдпрд╣ oauthlib рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ-oauthlib рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ Authlib рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХрд╛ рд╕рдордп рд╣реИ?

рдирд╣реАрдВред

рдСрде рдЬрд╝реАрд░реЛ рдПрдХ рдирд┐рдЬреА рдХрдВрдкрдиреА рд╣реИ рдЬрд┐рд╕ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ; рд╡реЗ рдЙрд╕ рдкреНрд░рдпрд╛рд╕ рдХреЛ рд╡рд┐рддреНрддрдкреЛрд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рд╕рдореБрджрд╛рдп рдкрд░ рд╣рдорд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

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

рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡реЗ рд╕рдм рдХреБрдЫ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдПрдХ рд╕рд░рд▓ рддрд░реАрдХреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ; рдпрджрд┐ рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЙрдирдХрд╛ рд╕рд╛рдорд╛рди рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЙрдиреНрд╣реЗрдВ BORG рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВред

@duaneking рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдБ - рдореБрдЭреЗ Auth0 рдХреА рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдерд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рдерд╛ рдпрд╛ рдпрд╣рд╛рдБ рддрдХ рдХрд┐ рд╡реЗ Authlib рд╕реЗ рдЬреБрдбрд╝реЗ рдереЗред рдореИрдВ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ Authlib рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ред рдРрд╕рд╛ рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐, рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ, Auth0 рдХреЗрд╡рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ "рдкреНрд░рд╛рдпреЛрдЬрдХ" рд╣реИ рдФрд░ Hsiaoming рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЕрдиреНрдпрдерд╛ Auth0 рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдХреНрдпрд╛ рдореЗрд░реА рд╕рдордЭ рд╕рд╣реА рд╣реИ рдпрд╛ рдЦрд░рдЧреЛрд╢ рдХрд╛ рдЫреЗрдж рдЧрд╣рд░рд╛ рдЬрд╛рддрд╛ рд╣реИ?

рдирд╣реАрдВред

Auth0 рдХреБрдЫ рдорд╛рдпрдиреЛрдВ рдореЗрдВ "рдкреНрд░рд╛рдпреЛрдЬрди" рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрдк рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рд╕рд╛рдордиреЗ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рджреЗрд╡ рдХреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдпрд╛ рддреЛ рдкреНрд░рддреНрдпрдХреНрд╖ рдпрд╛ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреИрдХрдПрдВрдб рдкрд░ рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рджрд╛рдЧреА/рдирд┐рдпрдВрддреНрд░рд┐рдд/рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкреИрд╕рд╛ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рд╛рде рд╣реА рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ рджреЗрд╡реЛрдВ рдХреЛ рдЙрди рд╕рдордЭреМрддреЛрдВ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдВ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдмреНрд░рд╛рдВрдбрд┐рдВрдЧ рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдФрд░ рдХрдВрдкрдиреА рдЖрджрд┐ рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЛ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдЬрдм рдЙрдиреНрд╣реЛрдВрдиреЗ рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рддреЛ рд╡рд╣реА рдкреЗрд╢рдХрд╢ рдХреА рдЧрдИ рдереА, рдФрд░ рдирддреАрдЬрддрди, рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╢реВрдиреНрдп рднрд░реЛрд╕рд╛ рд╣реИ рдХрд┐ рд╡реЗ "рдкреНрд░рд╛рдпреЛрдЬрдХ" рдпрд╛ "рд╕рдорд░реНрдерди" рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕реНрд╡рдпрдВ рджреЗрд╡ рдЬреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рд╣рдордд рд╣реИрдВ, рд╡реЗ рднреА рд╕рдВрджрд┐рдЧреНрдз рд╣реИрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдЕрдкрдиреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдмреЗрдЪ рджрд┐рдпрд╛ рд╣реИред

@denizdogan @duaneking Auth0 Authlib рдХрд╛ рд╕рд┐рд░реНрдл рдПрдХ рдкреНрд░рд╛рдпреЛрдЬрдХ рд╣реИ, рдЗрд╕рдХрд╛ "рдирд┐рдпрдВрддреНрд░рдг" "рдкреНрд░рдмрдВрдзрди" "рд▓рд╛рдЗрд╕реЗрдВрд╕" рдпрд╛ Authlib рдХреА рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред рдЖрдк рдЗрд╕реЗ рдПрдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВред

Auth0 рдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХреАрдХрд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭрд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдЖрдкрдХреЛ Authlib рдореЗрдВ рдХреЛрдИ auth0 рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдЧрд╛ред рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдЬрд╛рдирдХрд╛рд░реА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реИ, рдЖрдк https://www.patreon.com/lepture рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреИрд╕реЗ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдИ рднреА patreon рдпрд╛ GitHub рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореЗрд░рд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдпрд╣ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд░реАрдбрдореА рдкрд░ рдПрдХ рдФрд░ рдкреНрд░рд╛рдпреЛрдЬрдХ Authing рд╣реИред

рдФрд░ OAuthlib рд╕реНрд╡рдпрдВ рднреА Auth0 рдкреНрд░рд╛рдпреЛрдЬрд┐рдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ: https://pyjwt.readthedocs.io/en/latest/

рдореБрдЭреЗ Auth0 рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдЙрдирдХреА рдпреБрдХреНрддрд┐ рдореЗрд░реЗ рдорди рдореЗрдВ рдЕрдиреИрддрд┐рдХ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рдкреИрд╕рд╛ рдЗрдзрд░-рдЙрдзрд░ рдлреЗрдВрдХрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдареАрдХ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдХрднреА рдХреЛрдИ рдирд┐рдпрдВрддреНрд░рдг рдпрд╛ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдХреНрдпрд╛ рдореИрдВ рдпрд╣ рдХрд╣рдиреЗ рдХреА рд╣рд┐рдореНрдордд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╢рд╛рдпрдж рдпрд╣ oauthlib рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ-oauthlib рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ Authlib рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХрд╛ рд╕рдордп рд╣реИ?

рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИ, OAuthlib рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ Authlib рдкрд░ рдПрдХ рдЕрдЬреНрдЮреЗрдпрд╡рд╛рджреА рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИред


рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛
Authlib рдХрд╛ httpx рдПрдХреАрдХрд░рдг рдкреАрдЫреЗ рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬреЛ рдПрдХ рдЫреЛрдЯреА рд▓реЗрдХрд┐рди рдЧреИрд░-рд╢реВрдиреНрдп рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИред рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рджреЛ рдкреАрдЖрд░ рджрд╛рдпрд░ (рдФрд░ рдмрдВрдж) рдХрд┐рдП рдЧрдП рд╣реИрдВ: рд▓реЗрдкреНрдЪрд░/рдСрдерд▓рд┐рдм/рдкреБрд▓/219, рд▓реЗрдкреНрдЪрд░/рдСрдерд▓рд┐рдм/рдкреБрд▓/209ред

@lepture рдХреА рдХреЙрдкреАрд░рд╛рдЗрдЯ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдиреАрддрд┐ рдкрд░ рдореЗрд░реА рдПрдХ рдЫреЛрдЯреА, рд▓реЗрдХрд┐рди рдЧреИрд░-рд╢реВрдиреНрдп рдЪрд┐рдВрддрд╛ рднреА рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЙрдкрднреЛрдХреНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╣ 100% рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рд╕рд┐рд░реНрдл рд╕реАрд╕реА0 рдХреЗ рддрд╣рдд рд░рд┐рд▓реАрдЬ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВрдиреЗ рдЙрдирд╕реЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХреА рд╣реИред

рдореИрдВ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдкреНрд░рд╢рдВрд╕рдХ рдирд╣реАрдВ рд╣реВрдВ, рдЬреЛ рдкреВрд░реЗ рд╕рдореБрджрд╛рдп рдХреЗ рдХрд╛рдо рдХрд╛ рдорд╛рд▓рд┐рдХ рд╣реИред

рдореБрдЭреЗ рдореЗрдВрдЯреЗрдирд░ рдмрдирдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред

рд╣рд╛рдп @auvipy , рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ, рдореИрдВрдиреЗ рдПрдХ рдЖрдордВрддреНрд░рдг рднреЗрдЬрд╛ рд╣реИ!

рд╣рд╛рдп @auvipy , рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ, рдореИрдВрдиреЗ рдПрдХ рдЖрдордВрддреНрд░рдг рднреЗрдЬрд╛ рд╣реИ!

рд╕рдордЭ рд▓рд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдЕрднреА рдХреЛрдИ рд╡рд┐рд▓рдп рдпрд╛ рдЕрдиреБрдореЛрджрди рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╕рдВрдЧрдарди, рдЯреАрдо рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрд▓рдЭрди рдореЗрдВ рдерд╛ред рдЕрдм рдЖрдкрдХреЗ рдФрд░ oauthlib рд╕рдВрдЧрдарди рдХреЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕