Lorawan-stack: рдирдпрд╛ рдЦрд╛рддрд╛ рдРрдк рдкреЗрд╢ рдХрд░реЗрдВ (рд╢рдкрде рдРрдк рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП)

рдХреЛ рдирд┐рд░реНрдорд┐рдд 4 рдЕрдХреНрддреВре░ 2019  ┬╖  32рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: TheThingsNetwork/lorawan-stack

рд╕рд╛рд░рд╛рдВрд╢

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рдорд╛рд░реЗ OAuth рдкреНрд░рд╡рд╛рд╣, рдЦрд╛рддрд╛ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ, рдЯреЛрдХрди рдкреНрд░рдмрдВрдзрди, рд╕рдВрдмрдВрдзрд┐рдд рдмреНрд░рд╛рдВрдбрд┐рдВрдЧ, рдЖрджрд┐ рдХреЗ рдЗрд░реНрдж-рдЧрд┐рд░реНрдж рдШреВрдордиреЗ рд╡рд╛рд▓реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдореБрджреНрджреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдирдП account рдРрдк рдХреЗ рддрд╣рдд рдЗрди рд╕рднреА рдХреЛ рдЕрдзрд┐рдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдкреНрд░рдпрд╛рд╕ рд╣реИ рдЬреЛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛ рдЗрди рд╕рднреА рдЪрд┐рдВрддрд╛рдУрдВред

рд╣рдореЗрдВ рдпрд╣ рдХреНрдпреЛрдВ рдЪрд╛рд╣рд┐рдпреЗ?

  • рдЧреБрдо рдЦрд╛рддрд╛ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ тЯ╢ #488
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрд▓рдмреНрдз рдмреНрд░рд╛рдВрдбрд┐рдВрдЧ рдФрд░ рдкреНрд░рд╕рдВрдЧ тЯ╢ #730
  • рдЧреБрдо рд╕рддреНрд░ рдкреНрд░рдмрдВрдзрди тЯ╢ #1217
  • OAuth рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднреНрд░рдо #265

рд╡рд╣рд╛рдВ рдкрд╣рд▓реЗ рд╕реЗ рдХреНрдпрд╛ рд╣реИ? рдЕрдм рдЖрдк рдХреНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ?

  • рд╕реАрдорд┐рдд UI рдХреЗ рд╕рд╛рде OAuth рдРрдк

рдХреНрдпрд╛ рдЪреАрдЬрд╝ рдЫреВрдЯ рд░рд╣реА рд╣реИ? рддреБрдо рдХреНрдпрд╛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реЛ?

рдПрдХ рдРрдк рдЬреЛ рдУрдПрде рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рднреА рдЦрд╛рддреЛрдВ рдФрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЪрд┐рдВрддрд╛рдУрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлреАрдЪрд░реНрдб рдФрд░ рдмреНрд░рд╛рдВрдбреЗрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдпреВрдЖрдИ рд╣реИ

рдкрд░реНрдпрд╛рд╡рд░рдг

рд╡реЗрдм

рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрддреЗ рд╣реИрдВ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯрддрд╛ рдФрд░ рд╕рдВрджрд░реНрдн рдХреА рдХрдореА рд╣реИред OAuth рдРрдк рдХреЛ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЗрдХрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирдирд╛ рдХрдард┐рди рд╣реИред рдХрд╛рд░рдг рд╣реИрдВ:

  • рдмреНрд░рд╛рдВрдбрд┐рдВрдЧ рдФрд░ рд╕рдВрджрд░реНрдн рдХреА рдХрдореА
  • рдмрд╣реБрдд рдХрдо рдФрд░ рдмрд┐рдирд╛ рд╕реВрдЪрдирд╛ рд╡рд╛рд▓рд╛ UI
  • рдХрдВрд╕реЛрд▓ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рд╕реНрд╡рдпрдВ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ ("рд▓реЙрдЧрд┐рди" рд╕рдВрджреЗрд╢ рдХреЗ рдмрдЬрд╛рдп "рдЕрдкрдиреЗ {OAuth рдкреНрд░рджрд╛рддрд╛ рд╕реЗрд╡рд╛ рдирд╛рдо} рдЦрд╛рддреЗ рдХреЗ рд╕рд╛рде рд▓реЙрдЧрд┐рди рдХрд░реЗрдВ", рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛ рдЫреЛрдбрд╝рдирд╛)
    рд╕реНрдкрд╖реНрдЯрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдРрдк рдХреЛ рдЕрдзрд┐рдХ рджреГрд╢реНрдпрдорд╛рди, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдФрд░ рдЙрджреНрджреЗрд╢реНрдпрдкреВрд░реНрдг рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
  • рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмреНрд░рд╛рдВрдбрд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВ
  • рдорд╛рдВрд╕ рдмрд╛рд╣рд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛

    • рдЦрд╛рддрд╛ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ

    • рд╕рддреНрд░ рдкреНрд░рдмрдВрдзрди

    • рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдмрдВрдзрди

    • рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕реЗрдЯрд┐рдВрдЧ (рдкрд╛рд╕рд╡рд░реНрдб, рдИрдореЗрд▓, рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдЪрд┐рддреНрд░ рдмрджрд▓реЗрдВ/рднреВрд▓ рдЧрдП)

рдореИрдВрдиреЗ рддреАрди рд╡рд╛рдпрд░рдлреНрд░реЗрдо рдмрдирд╛рдП рд╣реИрдВ рдЬреЛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЕрдВрджрд╛рдЬрд╛ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдЦрд╛рддрд╛ рдРрдк рдХреА рдХрд▓реНрдкрдирд╛ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реВрдВ:

рд╡рд╛рдпрд░рдлреНрд░реЗрдо рджреЗрдЦреЗрдВ

account_login
account_overview
account_profile_settings
(рдКрдкрд░ рджрд╛рдИрдВ рдУрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреНрд░реЙрдкрдбрд╛рдЙрди рдореЗрдВ рдПрдХреАрдХреГрдд рдЦрд╛рддрд╛ рд╕реНрд╡рд┐рдЪрд░ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ)

рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╣рд╛рдВред @johanstokking @htdvisser , рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИред

identity server uweb umbrella

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

рдХрдВрд╕реЛрд▓ рдФрд░ рдУрде рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдмреАрдЪ рд╕рдВрдкреВрд░реНрдг рд▓реЙрдЧрд┐рди/рд▓реЙрдЧрдЖрдЙрдЯ рднреНрд░рдо рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдореЗрд░реА рдпреЛрдЬрдирд╛ рдпрд╣рд╛рдВ рд╣реИ:

  • рд╣рдо рдЦрд╛рддрд╛ рдРрдк (рдЯреАрдЯреАрдПрд╕ рд▓реЛрдЧреЛ рдХреЗ рдмрдЬрд╛рдп) рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ Account рд▓реЛрдЧреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕реА рд╣реЗрдбрд░ рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП рднреА рдХрд░рддреЗ рд╣реИрдВ (cc @pierreph)
  • рдХрдВрд╕реЛрд▓ рдФрд░ рдЕрдХрд╛рдЙрдВрдЯ рдРрдк рдХреЗ рд▓рд┐рдП рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓реЙрдЧрд┐рди рд╕реНрдХреНрд░реАрди рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдореЗрдВ рдЕрдиреБрднрд╡ рдХреЛ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ

    • рд╣рдо рдХрдВрд╕реЛрд▓ рд▓реЙрдЧрд┐рди рд╕реНрдХреНрд░реАрди рдХреЛ рд╣рдЯрд╛ рджреЗрдВрдЧреЗ /console/login

    • рдХрдВрд╕реЛрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЦрд╛рддрд╛ рдРрдк рд▓реЙрдЧрд┐рди рдкреГрд╖реНрда рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░реЗрдЧрд╛ /account/login , рдЬрдм рдЙрд╕рдХреЗ рдкрд╛рд╕ рдХреЛрдИ (рд╡реИрдз) рдкрд╣реБрдВрдЪ рдЯреЛрдХрди рдирд╣реАрдВ рд╣реИ

    • рдЬреИрд╕реЗ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдВрд╕реЛрд▓ рд▓реЙрдЧрд┐рди рдмрдЯрди рдХреЗ рд╕рд╛рде рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рд╕рдлрд▓ рд▓реЙрдЧрд┐рди рдХреЗ рдмрд╛рдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХрдВрд╕реЛрд▓ рдкрд░ рд╡рд╛рдкрд╕ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХреНрд╡реЗрд░реА рдкрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ

    • рдХрдВрд╕реЛрд▓ UI рд╕реЗ рд▓реЙрдЧ рдЖрдЙрдЯ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕рдВрдЧреНрд░рд╣реАрдд рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╕рд╛рде рд╣реА рдЦрд╛рддрд╛ рдРрдк рд╕реЗ рд▓реЙрдЧ рдЖрдЙрдЯ рднреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рддрд░рд╣, рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╡рд╛рдкрд╕ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╣рдореЗрд╢рд╛ рдЕрдкрдиреЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред



      • рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рдирд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рд▓реЙрдЧрдЖрдЙрдЯ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП (рдЪреВрдВрдХрд┐ рдХрдВрд╕реЛрд▓ рдФрд░ рдЦрд╛рддрд╛ рдРрдк рдПрдХ рд╣реА рдореВрд▓ рдкрд░ рд╣реЛрдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ)


      • v2 рдореЗрдВ, рд╣рдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг /users/logout рдорд╛рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд▓реЙрдЧрдЖрдЙрдЯ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕реЗ рдХрд╣реАрдВ рд╕реЗ рднреА рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ


      • рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╕реАрдПрд╕рдЖрд░рдПрдл рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрддреЗ рд╣реБрдП рдЙрд╕реА рдЪреАрдЬ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдкрд░ рдЧреМрд░ рдХрд┐рдпрд╛ рдЬрд╛рдП



    • рдирдпрд╛ рдкреНрд░рд╡рд╛рд╣ рдХрд╛рдлреА рд╣рдж рддрдХ v2 рдХрдВрд╕реЛрд▓ рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдЬреИрд╕рд╛ рд╣реЛрдЧрд╛; рд╣рдо рдореВрд▓ рд░реВрдк рд╕реЗ UX рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрд╕реЛрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рдСрдерд░рд╛рдЗрдЬрд╝реЗрд╢рди рд╕рд░реНрд╡рд░ рдХреЗ рдкреГрдердХреНрдХрд░рдг рдХрд╛ рддреНрдпрд╛рдЧ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдареАрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрдВрд╕реЛрд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреЗрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рддрд░рд╣ рд╣реИ

    • рдпрджрд┐ рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд▓реЙрдЧрд┐рди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рддреЛ рд╣рдореЗрдВ рдЗрд╕ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ

рдЕрдЧрд░ рдореБрдЭреЗ рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╢рд┐рдХрд╛рдпрдд рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ рддреЛ рдореИрдВ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреВрдВрдЧрд╛ред

рдПрдХ рдмрдбрд╝реА рдпреЛрдЬрдирд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ рдХрдВрд╕реЛрд▓ рдХреЗ рд╕реНрдкрд╖реНрдЯ рд▓реЙрдЧрдЖрдЙрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдпреВрдПрдХреНрд╕ рдореЗрдВ рдУрдПрде рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЙрдЧ рдЗрди рд░рд╣рдирд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдиреАрдЪреЗ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рдирд▓ рд▓реЙрдЧрдЖрдЙрдЯ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпрд╛ рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рджреЛ-рдЪрд░рдгреАрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирд╣реАрдВ рд╣реЛрдЧрд╛; рдХрдВрд╕реЛрд▓ рд╕реНрдЯреЛрд░ рдХрд┐рдП рдЧрдП рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП "рдкреЗрдЬ" рд▓реЙрдЧрдЖрдЙрдЯ рдХрд░реЗрдВ, рдлрд┐рд░ рдЬреЗрдиреЗрд░рд┐рдХ рд▓реЙрдЧрдЖрдЙрдЯ рдкреЗрдЬ рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдЕрдХрд╛рдЙрдВрдЯ рдРрдк рд▓реЙрдЧ рдЖрдЙрдЯ рд╣реЛрддрд╛ рд╣реИ? рдпрд╛ рдЖрдк рдЗрд╕реЗ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдХреЗ рдмрд┐рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд▓реЙрдЧрдЖрдЙрдЯ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ?

рд▓реЙрдЧрдЖрдЙрдЯ рдХреЗ рд▓рд┐рдП, рд╣рдо OpenID Connect рд▓реЙрдЧрдЖрдЙрдЯ рд╕реЗ рдХреБрдЫ рдкреНрд░реЗрд░рдгрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЪреНрдЫрд╛ рд╕рд╛рд░рд╛рдВрд╢ рдпрд╣рд╛рдБ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: https://medium.com/@robert.broeckelmann/openid -connect-logout-eccc73df758f

рдПрдХ рдмрдбрд╝реА рдпреЛрдЬрдирд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ рдХрдВрд╕реЛрд▓ рдХреЗ рд╕реНрдкрд╖реНрдЯ рд▓реЙрдЧрдЖрдЙрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдпреВрдПрдХреНрд╕ рдореЗрдВ рдУрдПрде рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЙрдЧ рдЗрди рд░рд╣рдирд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдиреАрдЪреЗ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рдирд▓ рд▓реЙрдЧрдЖрдЙрдЯ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпрд╛ рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рджреЛ-рдЪрд░рдгреАрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирд╣реАрдВ рд╣реЛрдЧрд╛; рдХрдВрд╕реЛрд▓ рд╕реНрдЯреЛрд░ рдХрд┐рдП рдЧрдП рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП "рдкреЗрдЬ" рд▓реЙрдЧрдЖрдЙрдЯ рдХрд░реЗрдВ, рдлрд┐рд░ рдЬреЗрдиреЗрд░рд┐рдХ рд▓реЙрдЧрдЖрдЙрдЯ рдкреЗрдЬ рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдЕрдХрд╛рдЙрдВрдЯ рдРрдк рд▓реЙрдЧ рдЖрдЙрдЯ рд╣реЛрддрд╛ рд╣реИ? рдпрд╛ рдЖрдк рдЗрд╕реЗ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдХреЗ рдмрд┐рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд▓реЙрдЧрдЖрдЙрдЯ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ?

рджреЛ-рдЪрд░рдгреАрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдареАрдХ рд╣реИред рдореЗрд░реА рдЪрд┐рдВрддрд╛ рдпрд╣ рдереА рдХрд┐ рдЦрд╛рддрд╛ рдРрдк рдХрд╛ рд▓реЙрдЧрдЖрдЙрдЯ рд╕реАрдПрд╕рдЖрд░рдПрдл рдЕрдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд▓реЙрдЧрдЖрдЙрдЯ рд▓рд┐рдВрдХ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдХрд┐рд╕реА рдХреЛ рдЕрдкрдиреЗ рдЦрд╛рддреЗ рд╕реЗ рд▓реЙрдЧ рдЖрдЙрдЯ рдХрд░рдиреЗ рдХрд╛ рд▓рд╛рд▓рдЪ рджреЗ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ v2 рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рднреА рд╕рдВрднрд╡ рд╣реИ ( рдпрд╣рд╛рдВ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рдЖрдк рд▓реЙрдЧ рдЖрдЙрдЯ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ )ред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрднреА рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ рд▓реЗрдХрд┐рди рдмрд┐рд▓реНрдХреБрд▓ рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рдирдП рдЦрд╛рддрд╛ рдРрдк рдХреЗ рд▓рд┐рдП рдЕрдм рдХрд╛рдлреА рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ:

  • рд░реАрдлреИрдХреНрдЯрд░ рдХрд┐рдП рдЧрдП рдШрдЯрдХ рдФрд░ рдХрдВрдЯреЗрдирд░ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрд╕реЛрд▓ рдФрд░ рдЦрд╛рддрд╛ рдРрдк рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
  • рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдирдП рдбрд┐рдЬрд╛рдЗрди (рдЬрд╡рд╛рдмрджреЗрд╣реА рд╕рд╣рд┐рдд)
  • рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдЪрд┐рддреНрд░ рд╕рд╣рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕
  • рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдмрдВрдзрди (рджреЗрдЦреЗрдВ рдФрд░ рдирд┐рд░рд╕реНрдд рдХрд░реЗрдВ)
  • рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╕рддреНрд░ рдкреНрд░рдмрдВрдзрди (рджреЗрдЦреЗрдВ рдФрд░ рдирд┐рд░рд╕реНрдд рдХрд░реЗрдВ)
  • рд╕рд╛рдЭрд╛ рд╕реАрдПрд╕рдПрд╕ рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд░рд┐рдХреНрдд рд░реЗрдВрдбрд░рд░реНрд╕ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рдирд╛

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

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

рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА @htdvisser рд╕реЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдкреВрд░рд╛ рдкреНрд░рддреНрдпрд╛рдпреЛрдЬрд┐рдд рдкреНрд░рдорд╛рдгреАрдХрд░рдг/рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкрд╣рд▓реВ рдореЗрд░реЗ рд▓рд┐рдП рдХреБрдЫ рд╣рдж рддрдХ рднрд╛рд░реА рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕реБрд░рдХреНрд╖рд╛-рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВред

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

рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдЦрд╛рддрд╛ рдРрдк рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорджрдж рдФрд░ рдЗрдирдкреБрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╣рдо рдЗрд╕рдХрд╛ рд╕рдордиреНрд╡рдп рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

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

рд╣рд╛рдВ, рдкрд╛рд╕рд╡рд░реНрдб рдЕрдиреБрджрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣рд╛рдВ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдФрд░ рддрд░реНрдХ рджреЗрдЦреЗрдВ: https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section -3.4

рд╡рд░реНрддрдорд╛рди рдореЗрдВ #2148 . рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

рддреЛ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдХреБрдЫ рдЗрдирдкреБрдЯ рдЪрд╛рд╣рд┐рдПред

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

рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдПрдХ рдирдпрд╛ OAuth рдХреНрд▓рд╛рдЗрдВрдЯ ( account ) рдФрд░ рдлреНрд░рдВрдЯрдПрдВрдб-рд╡рд╛рд░ рдкреЗрд╢ рдХрд░рдирд╛ рдерд╛, рддрд╛рдХрд┐ рд╡рд░реНрддрдорд╛рди OAuth рдРрдк рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдорд┐рд╢реНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрдЧрд╛ рдЬреИрд╕реЗ OAuth рдкреНрд░рджрд╛рддрд╛ (рд▓реЙрдЧрд┐рди, рд░рдЬрд┐рд╕реНрдЯрд░, рдорд╛рдиреНрдп рдЦрд╛рддрд╛, рдЖрджрд┐) рдФрд░ рдЦрд╛рддрд╛ рдРрдк рдХреНрд▓рд╛рдЗрдВрдЯ (рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рд╕рддреНрд░ рдкреНрд░рдмрдВрдзрди, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдмрдВрдзрди) рджреЛрдиреЛрдВ рдПрдХ рд╣реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИрдВ, рдЬрдмрдХрд┐ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ, рд╡рд╣рд╛рдБ OAuth рдкреНрд░рджрд╛рддрд╛ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдмреАрдЪ рдПрдХ рддрдХрдиреАрдХреА рдЕрд▓рдЧрд╛рд╡ рд╣реИред рдмреИрдХрдПрдВрдб рдкрд░, рдЦрд╛рддрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ oauth рдкреИрдХреЗрдЬ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрди рдЬрд╛рдПрдЧрд╛ред рдлреНрд░рдВрдЯрдПрдВрдб-рд╡рд╛рд░ рд╣рдо рдПрдХ рд╣реА рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ ( account.js ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЛрдиреЛрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдПрдХ рд╣реА рдРрдк рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕реА рддрд░рд╣, рд░реВрдЯрд┐рдВрдЧ рдЗрд╕ рд╕рдореНрдорд┐рд╢реНрд░рдг рдХреЛ рджрд░реНрд╢рд╛рдПрдЧрд╛, рдЬреИрд╕реЗ:

  • рд╢рдкрде рд▓реЙрдЧрд┐рди рдХреЗ рд▓рд┐рдП /account/login [OAuth рдкреНрд░рджрд╛рддрд╛ рдкрд░рдд]
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдВрдЬреАрдХрд░рдг рдХреЗ рд▓рд┐рдП /account/register [OAuth рдкреНрд░рджрд╛рддрд╛ рдкрд░рдд]
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдВрдЬреАрдХрд░рдг рдХреЗ рд▓рд┐рдП /account/forgot-password [OAuth рдкреНрд░рджрд╛рддрд╛ рдкрд░рдд]
  • рдХреНрд▓рд╛рдЗрдВрдЯ рд▓реЙрдЧрд┐рди (рдкреНрд░рд╛рдзрд┐рдХрд░рдг) рдХреЗ рд▓рд┐рдП /account/client/login/ttn-stack [OAuth рдХреНрд▓рд╛рдЗрдВрдЯ рд▓реЗрдпрд░]
  • /account/client/oauth/callback рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛрдб рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП [OAuth рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░рдд]
  • рд╢рдкрде рдЧреНрд░рд╛рд╣рдХ рдХрд╛ /account рдЕрд╡рд▓реЛрдХрди рдкреГрд╖реНрда [OAuth рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░рдд]

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдо OAuth рдкреНрд░рджрд╛рддрд╛ ( /oauth рдорд╛рдзреНрдпрдо рд╕реЗ pkg/oauth ) рдХреЛ рдЫреЛрдбрд╝рдХрд░, рджреЛрдиреЛрдВ рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рдЕрд▓рдЧ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЦрд╛рддрд╛ рдРрдк ( /account рдорд╛рдзреНрдпрдо рд╕реЗ pkg/account рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд▓рд╛рдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред ) рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдЪреАрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ, рдЬреИрд╕реЗ рд╣рдо рдХрдВрд╕реЛрд▓ рдХреЗ рд╕рд╛рде рдХрд░рддреЗ рд╣реИрдВред OAuth рдкреНрд░рджрд╛рддрд╛ рддрдм рдХреЗрд╡рд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддрд╛ рдкрдВрдЬреАрдХрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕рдХрд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдкреНрд░рдорд╛рдгрд┐рдд рджреГрд╢реНрдп рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬреИрд╕рд╛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд▓реЙрдЧрд┐рди рдХреЗ рдмрд╛рдж, рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЦрд╛рддрд╛ рдРрдк рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реЛрдЧрд╛, рдЬреЛ рддрдм рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓рд╛ рд╕рдорд╛рдзрд╛рди рдХреБрдЫ рднреНрд░рдо рд╕реЗ рдмрдЪ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдФрд░ рдЦрд╛рддрд╛ рдкреНрд░рдмрдВрдзрди рдХреЗ рдЗрд░реНрдж-рдЧрд┐рд░реНрдж рдШреВрдо рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЕрдиреНрдп рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХреЛ рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░рд╛ рд╕рдорд╛рдзрд╛рди рдХреНрд▓реАрдирд░ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЕрд▓рдЧрд╛рд╡ рдХреЛ рдХреИрд╕реЗ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд/рдмреНрд░рд╛рдВрдб рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЬреИрд╕реЗ рджреЛрдиреЛрдВ рдХреЛ рдЕрднреА рднреА "рдЦрд╛рддрд╛ рдРрдк" рдХреЗ рд░реВрдк рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╛ рдпрд╣ The Things Stack Single Sign On рдФрд░ The Things Stack Account Application ?

рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдЕрдкрдиреА рд░рд╛рдп рдмрддрд╛рдПрдВред

рд╣рдореНрдо, рдПрдХ рдХрджрдо рдкреАрдЫреЗ рд╣рдЯрддреЗ рд╣реБрдП, рдЦрд╛рддрд╛ рдРрдк рдХреЛ OAuth рдХреНрд▓рд╛рдЗрдВрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдХреНрдпрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╣реИ? рд╣рдо рд╡рд╣рд╛рдВ OAuth рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

  • рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕реЗрдЯрд┐рдВрдЧ (рдирд╛рдо, рдИрдореЗрд▓, рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдЪрд┐рддреНрд░)
  • рд╕рддреНрд░ рдкреНрд░рдмрдВрдзрди (рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ, рдирд┐рд░рд╕реНрдд рдХрд░реЗрдВ)
  • рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдмрдВрдзрди (рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ, рдирд┐рд░рд╕реНрдд рдХрд░реЗрдВ)
  • (рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреНрдп TTES рд╕рдВрдмрдВрдзрд┐рдд рдореЗрдЯрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕)

рдЙрди рд╕рднреА рдХреЛ рдПрдХ рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдЖрд░рдкреАрд╕реА рдХреЛ рдЕрдзрд┐рдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдпрд╣реА рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИред

рд╣рдореЗрдВ OAuth рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЬреЛ рдмрд╛рд╣рд░реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "рдж рдерд┐рдВрдЧреНрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдХрдореНрдпреБрдирд┐рдЯреА" - рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдмрдВрдзрди - рдЬреЛ рдХрд┐ рдерд┐рдВрдЧреНрд╕ рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣реАрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдХрд╛рдИ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдВрдХ @kschiffer рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдКрдкрд░ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИред

рд╣рдорд╛рд░реЗ /api/v3/* рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреБрдХреА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ CORS-рд╕рдХреНрд╖рдо рд╣реИрдВред рд╡реЗ рдХреЗрд╡рд▓ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдФрд░ рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

  • рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕реЗрдЯрд┐рдВрдЧ (рдирд╛рдо, рдИрдореЗрд▓, рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдЪрд┐рддреНрд░)
  • рд╕рддреНрд░ рдкреНрд░рдмрдВрдзрди (рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ, рдирд┐рд░рд╕реНрдд рдХрд░реЗрдВ)
  • рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдмрдВрдзрди (рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ, рдирд┐рд░рд╕реНрдд рдХрд░реЗрдВ)
  • (рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреНрдп TTES рд╕рдВрдмрдВрдзрд┐рдд рдореЗрдЯрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕)

рдЙрди рд╕рднреА рдХреЛ рдПрдХ рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдЖрд░рдкреАрд╕реА рдХреЛ рдЕрдзрд┐рдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдпрд╣реА рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИред

рд╣рдо рдХрдВрд╕реЛрд▓ рдХрд╛ рдпреЗ рд╣рд┐рд╕реНрд╕рд╛ рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдХрдВрд╕реЛрд▓ рдХреБрдЫ рд╣рдж рддрдХ рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рдорд┐рд▓рд╛рдПрдЧрд╛ред рдореИрдВ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рджреЗрдЦ рд╕рдХрддрд╛ рдерд╛ рдЬрд╣рд╛рдВ рдЕрдиреНрдп рд╕рднреА рдХрдВрд╕реЛрд▓ рдХрд╛рд░реНрдпрд╛рддреНрдордХрддрд╛рдУрдВ рдХреЗ рдКрдкрд░реА рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рдмрд┐рдирд╛ рдЦрд╛рддрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдУрд╡рд░рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

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

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХрдВрд╕реЛрд▓ (рд╕рднреА рдХрдВрд╕реЛрд▓, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдПрдХ рдХрдВрд╕реЛрд▓ рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдкреВрд░реНрдг рдЕрдзрд┐рдХрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдзрд┐рдХреГрдд OAuth рдХреНрд▓рд╛рдЗрдВрдЯ, рд╕рддреНрд░, рдкреНрд░рд╛рдердорд┐рдХ рдИрдореЗрд▓ рдкрддрд╛, рд╕рдВрдкрд░реНрдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрд╕реЛрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдмрдВрдзрди рдРрдк (рдЦрд╛рддрд╛ рдРрдк) рд╣реЛрдирд╛ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИред

рд╡рд╛рдХрдИ, рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИред рдлрд┐рд░ рдпрд╣ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рд╢реНрди рдкрд░ рд╡рд╛рдкрд╕ рдЖрддрд╛ рд╣реИред

рдореЗрд░рд╛ рд▓реЗрдирд╛ рд╣реИ:

рдорд┐рд╢реНрд░рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг:

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

рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг:

  • рд╕реНрд╡рдЪреНрдЫ рдФрд░ рдЕрдзрд┐рдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
  • рд╡рд┐рдиреНрдпрд╛рд╕ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рдФрд░ рд╕реНрдкрд╖реНрдЯ
  • рд╢рдкрде рдРрдк рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рдирдпрд╛ рдРрдк рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рдордЭрджрд╛рд░ рдмреНрд░рд╛рдВрдбрд┐рдВрдЧ рдФрд░ рд╕рдВрдЪрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
  • рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдмрдирд╛рддрд╛ рд╣реИ (рдорд╛рдореВрд▓реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдФрд░ рдЕрдзрд┐рдХ рд╕рдВрдкрддреНрддрд┐

рдореИрдВ рдорд┐рд╢реНрд░рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдУрд░ рдЭреБрдХрддрд╛ рд╣реВрдВред

  • рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕реЗрдЯрд┐рдВрдЧ (рдирд╛рдо, рдИрдореЗрд▓, рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдЪрд┐рддреНрд░)
  • рд╕рддреНрд░ рдкреНрд░рдмрдВрдзрди (рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ, рдирд┐рд░рд╕реНрдд рдХрд░реЗрдВ)
  • рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдмрдВрдзрди (рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ, рдирд┐рд░рд╕реНрдд рдХрд░реЗрдВ)
  • (рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреНрдп TTES рд╕рдВрдмрдВрдзрд┐рдд рдореЗрдЯрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕)

рдпрд╣ рдЦрд╛рддрд╛ рдРрдк рд╣реИ, рд╣реИ рдирд╛? OAuth рдирд╣реАрдВ?

  • рд╢рдкрде рдРрдк рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рдирдпрд╛ рдРрдк рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рдордЭрджрд╛рд░ рдмреНрд░рд╛рдВрдбрд┐рдВрдЧ рдФрд░ рд╕рдВрдЪрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ

рддрдм рднреА OAuth рдРрдк рдХреНрдпрд╛ рд╣реИ?

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

рдпрд╣ рдЦрд╛рддрд╛ рдРрдк рд╣реИ, рд╣реИ рдирд╛? OAuth рдирд╣реАрдВ?

рд╣рд╛рдБ, рдпрд╣ рдЦрд╛рддрд╛ рдРрдк рд╣реИред рд▓реЗрдХрд┐рди рдпреЛрдЬрдирд╛ рдпрд╣ рдереА рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ OAuth рдРрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ рдХреБрдЫ рд╣реИ рд╡рд╣ рдЦрд╛рддрд╛ рдРрдк рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрди рдЬрд╛рдПред

рддрдм рднреА OAuth рдРрдк рдХреНрдпрд╛ рд╣реИ?

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

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

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

рдХреНрдпрд╛ OAuth рдРрдк рдПрдХ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдЪреАрдЬрд╝ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ OAuth рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдлрд╝реНрд▓реЛ рд▓рд╛рдЧреВ рдХрд░ рд░рд╣рд╛ рд╣реИ? рдпрд╛ рдпрд╣ рд╕реНрд╡рдпрдВ рдПрдХ OAuth рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИ?


рдореЗрд░рд╛ рдЬреЛрд░:

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

рдореИрдВ рдпрд╣рд╛рдБ рджреЗрдЦрддрд╛ рд╣реВрдБ;

  • OAuth рдХреНрд▓рд╛рдЗрдВрдЯ
  • рд╡рд░реНрддрдорд╛рди OAuth рдРрдк
  • OAuth рдкреНрд░рджрд╛рддрд╛
  • рдЦрд╛рддрд╛ рдРрдк рдХреНрд▓рд╛рдЗрдВрдЯ
  • OAuth рдкреНрд░рджрд╛рддрд╛
  • рдЧреНрд░рд╛рд╣рдХ
  • рдмреИрдХрдПрдВрдб
  • рдЦрд╛рддрд╛ рдЧреНрд░рд╛рд╣рдХ
  • oauth рдкреИрдХреЗрдЬ

рдореИрдВ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЕрднреА рднреА рдХреНрдпрд╛ рд╣реИред

рддреЛ рдРрд╕реА рдХреМрди рд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╣реИрдВ рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

  1. рдЦрд╛рддрд╛ рдмрдирд╛рдПрдВ
  2. рдкрд╛рд╕рд╡рд░реНрдб рднреВрд▓ рдЧрдП
  3. рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ
  4. рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓реЗрдВ
  5. рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рджреЗрдЦреЗрдВ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
  6. рд╕рддреНрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ
  7. OAuth рд╕рд╛рдорд╛рди

    1. рд╕рд╣рдорддрд┐ рд╕реНрдХреНрд░реАрди (OAuth рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛрдб рдкреНрд░рд╡рд╛рд╣)

    2. OAuth рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдо рд╕рддреНрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдУрдПрде рдХреЛ рдЫреВрдП рдмрд┐рдирд╛ 1-6 рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рд╣реИ рдирд╛?

рд╣рд╛рдБ рдХреНрд╖рдорд╛ рдХрд░реЗрдВред рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдВ рдХрдИ рдЕрдирдлрд┐рдХреНрд╕ рд╢рдмреНрдж рд╣реИрдВ рдЬреЛ рдЪреАрдЬреЛрдВ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдореЗрдВ рдХрд╛рдлреА рдореБрд╢реНрдХрд┐рд▓ рдмрдирд╛рддреЗ рд╣реИрдВред рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫреА рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рджреЗрддрд╛ рд╣реИ ред

рддреЛ рдЪрд▓рд┐рдП рдпрдерд╛рд╕реНрдерд┐рддрд┐ рд▓реЗрддреЗ рд╣реИрдВ:

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

OAuth рдРрдк
рдпрд╣ рдлреНрд░рдВрдЯрдПрдВрдб рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИред рд╣рдорд╛рд░реЗ рдлреНрд░рдВрдЯрдПрдВрдб рдХреЛрдб рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдРрдк рд╣реЛрддреЗ рд╣реИрдВ (рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╕рд╛рде oauth.js / console.js ) рдЬреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдШрдЯрдХреЛрдВ рдФрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдЬреИрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рднрд╛рдЧреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ

OAuth рдХреНрд▓рд╛рдЗрдВрдЯ
рдПрдХ рдкрдВрдЬреАрдХреГрдд рдХреНрд▓рд╛рдЗрдВрдЯ рдЬреЛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдФрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП OAuth рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрдВрд╕реЛрд▓ рдпрд╛ CLIред

рд╢рдкрде рдкреИрдХреЗрдЬ
рдЧреЛ рдкреИрдХреЗрдЬ рдЬреЛ OAuth рдкреНрд░рджрд╛рддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд╡рд╣ pkg/oauth ред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдо рд╕рддреНрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдУрдПрде рдХреЛ рдЫреВрдП рдмрд┐рдирд╛ 1-6 рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рд╣реИ рдирд╛?

рд╣рд╛рдВред рдУрде/рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХреЗ рдмрд┐рдирд╛ 1-4 рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрднрд╡ рд╣реИрдВред 5 рдФрд░ 6 рдХреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред 7. ii рдЕрднреА рддрдХ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ 5 рдФрд░ 6 рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХреЗ рдмрд┐рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдВрдЧреЗ рддреЛ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рд╢рдкрде рдЧреНрд░рд╛рд╣рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдлрд┐рд░ рднреА рд╣рдореЗрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдо рдЬрд┐рд╕ рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЦрд╛рддрд╛ рдРрдк рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдПрдХрдорд╛рддреНрд░ рд╕рд╛рдзрди рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рд╕рд╣реАред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдпрд╣ "рд╕реБрдбреЛ рдореЛрдб" рдХреЗ рд▓рд┐рдП рднреА рдмреЗрд╣рддрд░ рдЖрдзрд╛рд░ рд╣реИ, рдЬрд╣рд╛рдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддрд╛ рдРрдк рдореЗрдВ _only_ рдЪреАрдЬреЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдлрд┐рд░ рд╕реЗ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рджред рддреЛ рд╣рд╛рдБ, OAuth рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рдЦрд╛рддрд╛ рдРрдк рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдХреЗ рдмреАрдЪ рдХреБрдЫ рдУрд╡рд░рд▓реИрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╣ рдУрд╡рд░рд▓реИрдк рдореБрдЭреЗ рдмрдбрд╝рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ред рдореИрдВ рдЦрд╛рддрд╛ рдРрдк рдХреЛ рд╕рдорд░реНрдкрд┐рдд рдЪреАрдЬреЛрдВ рдХреЛ рд░рдЦрдиреЗ рдореЗрдВ рдореВрд▓реНрдп рджреЗрдЦрддрд╛ рд╣реВрдВред

рдареАрдХ рд╣реИ, рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред
@htdvisser рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рд╣реИ? рдФрд░ рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рдлрд╛рдЗрд▓реЛрдВ/рдкреИрдХреЗрдЬреЛрдВ рдХреА рдУрд░ рд╕рдВрдХреЗрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рдкрд░ рдЬрд▓реНрдж рд╣реА рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реЛрдЧрд╛ (?)

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереА, рд╣рдорд╛рд░реЗ /api/v3/* рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреБрдХреА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ CORS-рд╕рдХреНрд╖рдо рд╣реИрдВред рдпрджрд┐ рдЖрдк рдХреБрдХреА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ CORS рд╣реЗрдбрд░ рдкрд░ рдПрдХ рдЕрдЪреНрдЫреА рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдХреЛрдИ рд╣рдорд▓рд╛рд╡рд░ рдЗрди рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдХреБрдХреА-рдкреНрд░рдорд╛рдгрд┐рдд рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рдирд▓ рдЕрдиреБрд░реЛрдз рдХрд░реЗред


рд╣рдорд╛рд░рд╛ рдПрдкреАрдЖрдИ рд╕рднреА рдЬреАрдЖрд░рдкреАрд╕реА рд╣реИ, рдФрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг Authorization рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдиреБрд░реЛрдз рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреАрдЖрд░рдкреАрд╕реА рдореЗрдВ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рддреНрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

  • SessionToken рдкреНрд░рдХрд╛рд░ рдХреЛ pkg/auth/auth.go
  • Session рдореЙрдбрд▓ рдореЗрдВ рдПрдХ рдЧреБрдкреНрдд рднрд╛рдЧ рдЬреЛрдбрд╝реЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдФрд░ рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рдХрд░рддреЗ рд╣реИрдВред
  • рдПрдХ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдХреБрдХреА рд╕реЗ рд╕рддреНрд░ рдЖрдИрдбреА рдФрд░ рд╕рддреНрд░ рд░рд╣рд╕реНрдп рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рддреНрд░ рдЯреЛрдХрди рдХреЗ рд░реВрдк рдореЗрдВ Authorization рд╢реАрд░реНрд╖рд▓реЗрдЦ рдореЗрдВ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ
  • SessionToken рдХреЛ case рдХреЗ рд░реВрдк рдореЗрдВ switch tokenType { рдореЗрдВ pkg/identityserver/entity_access.go

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

рд╣рд╛рдВ, рд╡реЗ рдПрдХ рд╣реА рдореВрд▓ рдХреЗ рд╣реЛрдВрдЧреЗред

@kschiffer рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рд╣рдо рдпрд╣рд╛рдВ рдкреНрд░рдЧрддрд┐ рдХреЛ рдХреИрд╕реЗ рдЕрдирд╡рд░реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рдПрдХ рд╕рд╛рд░рд╛рдВрд╢ рд▓рд┐рдЦрд╛ рд╣реИ: https://github.com/TheThingsNetwork/lorawan-stack/pull/2850#issuecomment -657497193

рдареАрдХ рд╣реИ, рдЪрд▓рд┐рдП рдЙрд╕ рдмрд╛рддрдЪреАрдд рдХреЛ рдпрд╣рд╛рдБ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред

@kschiffer рдЗрд╕ рдкрд░ рдереЛрдбрд╝рд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж:

  • рдУрде рдРрдк рдХреЗ рдлреНрд░рдВрдЯрдПрдВрдб рднрд╛рдЧ рдореЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕реНрдХреНрд░реАрди рд╣реЛрдЧреА

рд╣рд╛рдВ

  • рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдЙрд╕рдХреЗ рд▓рд┐рдП is.oauth.ui.* рдХреЙрдиреНрдлрд┐рдЧ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдмрд╣реБрдд рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИ
    [...]
  • рдореИрдВ рд╕реАрд╕реА рдХреЛ рддреЛрдбрд╝реЗ рдмрд┐рдирд╛ рд╕реНрдЯреИрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХреИрд╕реЗ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВ, рдЗрд╕рдХреЗ рд╕рдЯреАрдХ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╣реВрдВ
  • рдореИрдВ рдпрд╣рд╛рдВ рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдХреЗ рд╕рд╛рде рднрд╛рдЧреНрдп рд╕реЗ рдереЛрдбрд╝рд╛ рдмрд╛рд╣рд░ рд╣реВрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдЗрдирдкреБрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рд╣рдо V3 рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рддреЛрдбрд╝ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдирдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреБрд░рд╛рдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдкреБрд░рд╛рдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдлрд╝реЙрд▓рдмреИрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдкреБрд░рд╛рдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП bump/major рд▓реЗрдмрд▓ рд╡рд╛рд▓рд╛ TODO рд╕рдорд╕реНрдпрд╛ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рддреЛ рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рдирдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреЗрд╢ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдПрдХ рдкреВрд░реНрдг рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реЛрдЧрд╛ рдФрд░ рдирдпрд╛ рдЦрд╛рддрд╛ рдРрдк рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛ред рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдирдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛рдиреА is.oauth.ui.* рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдордЭрджрд╛рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдФрд░ рдкреБрд░рд╛рдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@kschiffer рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╕реНрдерд┐рддрд┐ рд╣реИ?

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирдП рдордЪрд╛рди рдкрд░ рдЕрдкрдирд╛ рдХрд╛рдо рдлрд┐рд░ рд╕реЗ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рдпрд╣рд╛рдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ: #3453

рдЗрд╕рдХреЗ рдмрд╛рдж рдкреНрд░рдорд╛рдгрд┐рдд рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдкреБрди: рдЖрдзрд╛рд░ рдмрдирд╛рдирд╛, рдареАрдХ рдХрд░рдирд╛ рдФрд░ PRing рдХрд░рдирд╛ рдФрд░ рд╡рд░реНрддрдорд╛рди рдбрд┐рдЬрд╝рд╛рдЗрдиреЛрдВ рдХреЛ рдирдИ рдмреНрд░рд╛рдВрдбрд┐рдВрдЧ рдореЗрдВ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рд╣реИред

@kschiffer рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╕реНрдерд┐рддрд┐ рд╣реИ?

рдЦрд╛рддрд╛ рдРрдк 3.11 рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЕрднреА рднреА рд▓рд╛рдкрддрд╛ рд╣реИрдВ:

  • рдЦрд╛рддрд╛ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ #488
  • рд╕рддреНрд░ рдкреНрд░рдмрдВрдзрди
  • рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдмрдВрдзрди (iirc рдЗрд╕рдореЗрдВ API рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдЬреЛрдбрд╝рдирд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ)

рдареАрдХ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ https://github.com/TheThingsNetwork/lorawan-stack/issues/488 рдкрд╣рд▓реЗ рд╣реА рдмрдВрдж рд╣реИред

рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛ рджреЛ рдирдП рдореБрджреНрджреЗ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдЗрд╕реЗ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ?

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

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

MatteMoveSRL picture MatteMoveSRL  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ZeroSum24 picture ZeroSum24  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bafonins picture bafonins  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

adamsondelacruz picture adamsondelacruz  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

johanstokking picture johanstokking  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ