рдУрдкрдирдЖрдИрдбреА рдЬрдбрд╛рди: рдЕрдиреБрдХреВрд▓рдирдмрд╛рдЯ рдорд╛рдирдХрдорд╛ рдЖрдиреНрддрд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг

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

рдУрдкрдирдЖрдИрдбреА рдЬрдбрд╛рди: рдЕрдиреБрдХреВрд▓рдирдмрд╛рдЯ рдорд╛рдирдХрдорд╛ рдЖрдиреНрддрд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг

рдзреЗрд░реИ рдкрд╣рд┐рд▓реЗ ... рдпреЛ рд╕рдмреИ рдХрд╕рд░реА рд╕реБрд░реБ рднрдпреЛ

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

рдХреЗрд╣реА рд╕рдордп рдкрдЫрд┐, рд╣рд╛рдореАрд▓реЗ рдХреЗрдиреНрджреНрд░реАрдХреГрдд рдкреНрд░рд╛рдзрд┐рдХрд░рдгрдХреЛ рдХрд╛рд░реНрдпрд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреМрдВред SSO рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░рдорд╛ рд╣рд╕реНрддрд╛рдиреНрддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред OpenResty рдХреЛ рдорджреНрджрддрд▓реЗ, рд▓реБрдЖрдорд╛ рдПрдЙрдЯрд╛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдердкрд┐рдпреЛ рдЬрд╕рд▓реЗ рдЯреЛрдХрдирд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реНтАНрдпреЛ, рдХреБрди рдЕрдиреБрдкреНрд░рдпреЛрдЧрдорд╛ рдЕрдиреБрд░реЛрдз рдЬрд╛рдБрджреИрдЫ рднрдиреЗрд░ рдерд╛рд╣рд╛ рдерд┐рдпреЛ, рд░ рддреНрдпрд╣рд╛рдБ рдкрд╣реБрдБрдЪ рдЫ рдХрд┐ рдЫреИрди рднрдиреЗрд░ рдЬрд╛рдБрдЪ рдЧрд░реНрди рд╕рдХреНрдЫред рдпрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдгрд▓реЗ рдЖрдиреНрддрд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдпрд▓рд╛рдИ рдзреЗрд░реИ рд╕рд░рд▓ рдмрдирд╛рдпреЛ - рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рдХреЛрдбрдорд╛, рдпреЛ рдЕрдм рдердк рддрд░реНрдХ рд╡рд░реНрдгрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдерд┐рдПрдиред рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, рд╣рд╛рдореАрд▓реЗ рдмрд╛рд╣реНрдп рд░реВрдкрдорд╛ рдЯреНрд░рд╛рдлрд┐рдХ рдмрдиреНрдж рдЧрд░реНрдпреМрдВ, рд░ рдПрдкреНрд▓рд┐рдХреЗрд╕рдирд▓рд╛рдИ рдкреНрд░рд╛рдзрд┐рдХрд░рдгрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗрд╣реА рдерд╛рд╣рд╛ рдерд┐рдПрдиред

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

рд╕рд╛рдЭрд╛ рдорд╛рдкрджрдгреНрдбрд╣рд░реВрдорд╛

OAuth рдПрдХ рдмреБрдЭреНрди рдпреЛрдЧреНрдп, рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рд╕реНрд╡реАрдХреГрдд рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдорд╛рдирдХ рд╣реЛ, рддрд░ рдпрд╕рдХреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдорд╛рддреНрд░ рдкрд░реНрдпрд╛рдкреНрдд рдЫреИрди, рддрд┐рдиреАрд╣рд░реВрд▓реЗ рддреБрд░реБрдиреНрддреИ OpenID Connect (OIDC) рд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрди рдерд╛рд▓реЗред OIDC рдЖрдлреИрдорд╛ рдЦреБрд▓рд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдорд╛рдирдХрдХреЛ рддреЗрд╕реНрд░реЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛ, рдЬреБрди OAuth 2.0 рдкреНрд░реЛрдЯреЛрдХрд▓ (рдЦреБрд▓рд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░реЛрдЯреЛрдХрд▓) рдорд╛ рдПрдб-рдЕрдирдорд╛ рдкреНрд░рд╡рд╛рд╣рд┐рдд рднрдПрдХреЛ рдЫред рдпреЛ рд╕рдорд╛рдзрд╛рдирд▓реЗ рдЕрдиреНрддрд┐рдо рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдбрд╛рдЯрд╛рдХреЛ рдЕрднрд╛рд╡рдХреЛ рд╕рдорд╕реНрдпрд╛рд▓рд╛рдИ рдмрдиреНрдж рдЧрд░реНрджрдЫ, рд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рджрд╛рдпрдХрд▓рд╛рдИ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдореНрднрд╡ рдмрдирд╛рдЙрдБрдЫред

рдпрджреНрдпрдкрд┐, рд╣рд╛рдореАрд▓реЗ рдХреБрдиреИ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рджрд╛рдпрдХ рдЫрдиреМрдЯ рдЧрд░реЗрдХрд╛ рдЫреИрдиреМрдВ рд░ рд╣рд╛рдореНрд░реЛ рдЕрд╡рд╕реНрдерд┐рдд рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рд░реНрднрд░рдХреЛ рд▓рд╛рдЧрд┐ OIDC рд╕рдБрдЧ рдПрдХреАрдХрд░рдг рдердкреНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреМрдВред рдпрд╕ рдирд┐рд░реНрдгрдпрдХреЛ рдкрдХреНрд╖рдорд╛ рдпреЛ рддрдереНрдп рдерд┐рдпреЛ рдХрд┐ OIDC рдЕрдиреНрддрд┐рдо рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдгрдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рдзреЗрд░реИ рд▓рдЪрд┐рд▓реЛ рдЫред рдпрд╕рд░реА, рддрдкрд╛рдИрдВрдХреЛ рд╣рд╛рд▓рдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рд░реНрднрд░рдорд╛ OIDC рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдЧрд░реНрди рд╕рдореНрднрд╡ рдерд┐рдпреЛред

рдУрдкрдирдЖрдИрдбреА рдЬрдбрд╛рди: рдЕрдиреБрдХреВрд▓рдирдмрд╛рдЯ рдорд╛рдирдХрдорд╛ рдЖрдиреНрддрд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг

рд╣рд╛рдореНрд░реЛ рдЖрдлреНрдиреИ OIDC рд╕рд░реНрднрд░ рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рд╣рд╛рдореНрд░реЛ рддрд░рд┐рдХрд╛

1) рдЗрдЪреНрдЫрд┐рдд рдлрд╛рд░рдордорд╛ рдбрд╛рдЯрд╛ рд▓реНрдпрд╛рдпреЛ

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

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

2) рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрджрд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

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

рдУрдкрдирдЖрдИрдбреА рдЬрдбрд╛рди: рдЕрдиреБрдХреВрд▓рдирдмрд╛рдЯ рдорд╛рдирдХрдорд╛ рдЖрдиреНрддрд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг

рд╣рд╛рдореНрд░реЛ рдкрд╣рд┐рд▓реЛ рдЖрд╡реЗрджрдирдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореАрд▓реЗ рд╕рдмреИрднрдиреНрджрд╛ рд╕рд╛рдорд╛рдиреНрдп рдЕрдиреБрджрд╛рди, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдпреМрдВред рдЕрд░реВрдмрд╛рдЯ рдпрд╕рдХреЛ рднрд┐рдиреНрдирддрд╛ рдпреЛ рд╣реЛ рдХрд┐ рдпреЛ рддреАрди-рдЪрд░рдг рд╣реЛ, рдЕрд░реНрдерд╛рддреНред рдердк рдкрд░реАрдХреНрд╖рдг рднрдЗрд░рд╣реЗрдХреЛ рдЫред рдкрд╣рд┐рд▓реЗ, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЕрдиреБрдорддрд┐рдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрд░реЛрдз рдЧрд░реНрджрдЫ, рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫ - рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛрдб, рддреНрдпрд╕рдкрдЫрд┐ рдпреЛ рдЯреЛрдХрдирдХреЛ рд╕рд╛рде, рдпрд╛рддреНрд░рд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЯрд┐рдХрдЯрдХреЛ рд░реВрдкрдорд╛, рдкрд╣реБрдБрдЪ рдЯреЛрдХрди рдЕрдиреБрд░реЛрдз рдЧрд░реНрджрдЫред рдпрд╕ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд▓рд┐рдкрд┐рдХреЛ рд╕рдмреИ рдореБрдЦреНрдп рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рд░реНрднрд░ рдмреАрдЪрдХреЛ рд░рд┐рдбрд┐рд░реЗрдХреНрдЯрд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫред рддрдкрд╛рдИрдВ рдпрд╕ рдЕрдиреБрджрд╛рди рдмрд╛рд░реЗ рдердк рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдпрд╣рд╛рдБ.

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

3) рдЕрдиреБрдХреВрд▓рди рдбрд╛рдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдврд╛рдБрдЪрд╛рд╣рд░реВ рд╕реЗрдЯ рдЕрдк рдЧрд░реНрдиреБрд╣реЛрд╕реН

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

OIDC рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдорд╛, JWT рдЯреЛрдХрдирд▓рд╛рдИ id_token рднрдирд┐рдиреНрдЫред рдпрд╕рд▓рд╛рдИ рдирд┐рдпрдорд┐рдд рдкрд╣реБрдБрдЪ рдЯреЛрдХрдирдХреЛ рд╕рд╛рде рдЕрдиреБрд░реЛрдз рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд░ рдХреЗрд╡рд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкреНрд░рдорд╛рдгрд┐рдд рдЧрд░реНрди рдмрд╛рдБрдХреА рдЫред рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рд░реНрднрд░рд╕рдБрдЧ рдврд╛рдБрдЪрд╛рдорд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреАрд╣рд░реВрдХреЛ рдЧреБрдЪреНрдЫрд╛рдХреЛ рд╕рд╛рде рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдЫреБрдЯреНрдЯреИ рдЕрдиреНрддрд┐рдо рдмрд┐рдиреНрджреБ рдЫ J.W.K.ред рд░ рдпрд╕рдХреЛ рдХреБрд░рд╛ рдЧрд░реНрджрд╛, рдпреЛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдЫ рдХрд┐ рддреНрдпрд╣рд╛рдБ рдЕрд░реНрдХреЛ рдЕрдиреНрдд рдмрд┐рдиреНрджреБ рд╣реЛ, рдЬреБрди рдорд╛рдирдХрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫ RFC5785 OIDC рд╕рд░реНрднрд░рдХреЛ рд╣рд╛рд▓рдХреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд┐рдд рдЧрд░реНрджрдЫред рдпрд╕рдорд╛ рд╕рдмреИ рдЕрдиреНрддрдмрд┐рдиреНрджреБ рдареЗрдЧрд╛рдирд╛рд╣рд░реВ (рд╣рд╕реНрддрд╛рдХреНрд╖рд░рдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреА рд░рд┐рдВрдЧрдХреЛ рдареЗрдЧрд╛рдирд╛ рд╕рд╣рд┐рдд), рд╕рдорд░реНрдерд┐рдд рдмреНрд░рд╛рдиреНрдбрд╣рд░реВ рд░ рд╕реНрдХреЛрдкрд╣рд░реВ, рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЗрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рджрдорд╣рд░реВ, рд╕рдорд░реНрдерд┐рдд рдЕрдиреБрджрд╛рдирд╣рд░реВ, рдЖрджрд┐ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреНред

рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдЧреБрдЧрд▓рдорд╛:

{
 "issuer": "https://accounts.google.com",
 "authorization_endpoint": "https://accounts.google.com/o/oauth2/v2/auth",
 "device_authorization_endpoint": "https://oauth2.googleapis.com/device/code",
 "token_endpoint": "https://oauth2.googleapis.com/token",
 "userinfo_endpoint": "https://openidconnect.googleapis.com/v1/userinfo",
 "revocation_endpoint": "https://oauth2.googleapis.com/revoke",
 "jwks_uri": "https://www.googleapis.com/oauth2/v3/certs",
 "response_types_supported": [
  "code",
  "token",
  "id_token",
  "code token",
  "code id_token",
  "token id_token",
  "code token id_token",
  "none"
 ],
 "subject_types_supported": [
  "public"
 ],
 "id_token_signing_alg_values_supported": [
  "RS256"
 ],
 "scopes_supported": [
  "openid",
  "email",
  "profile"
 ],
 "token_endpoint_auth_methods_supported": [
  "client_secret_post",
  "client_secret_basic"
 ],
 "claims_supported": [
  "aud",
  "email",
  "email_verified",
  "exp",
  "family_name",
  "given_name",
  "iat",
  "iss",
  "locale",
  "name",
  "picture",
  "sub"
 ],
 "code_challenge_methods_supported": [
  "plain",
  "S256"
 ],
 "grant_types_supported": [
  "authorization_code",
  "refresh_token",
  "urn:ietf:params:oauth:grant-type:device_code",
  "urn:ietf:params:oauth:grant-type:jwt-bearer"
 ]
}

рдпрд╕рд░реА, id_token рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рддрдкрд╛рдИрдВрд▓реЗ рдЯреЛрдХрдирдХреЛ рдкреЗрд▓реЛрдбрдорд╛ рд╕рдмреИ рдЖрд╡рд╢реНрдпрдХ рд╣рд▓рдорд╛рд░реНрдХрд╣рд░реВ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдЕрдиреБрд░реЛрдз рдЧрд░реНрди рдкреНрд░рддреНрдпреЗрдХ рдкрдЯрдХ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рд░реНрднрд░рд▓рд╛рдИ рд╕рдореНрдкрд░реНрдХ рдЧрд░реНрдиреБрд╣реБрдиреНрдиред рдпрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдХреЛ рдмреЗрдлрд╛рдЗрджрд╛ рдпреЛ рд╣реЛ рдХрд┐ рд╕рд░реНрднрд░рдмрд╛рдЯ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рддреБрд░реБрдиреНрддреИ рдЖрдЙрдБрджреИрди, рддрд░ рдирдпрд╛рдБ рдкрд╣реБрдБрдЪ рдЯреЛрдХрдирдХреЛ рд╕рд╛рдеред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░рд┐рдгрд╛рдорд╣рд░реВ

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

рдЕрд╡рд╕реНрдерд┐рдд рд╕рдорд╛рдзрд╛рдирд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрджреИ

рд╣рд╛рдореНрд░реЛ рд╕рдВрдЧрдарди рднрд┐рддреНрд░, рдкрд╣рд┐рд▓реЛ OIDC рд╕рд░реНрднрд░рдХреЛ рд░реВрдкрдорд╛, рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░реЛ рдЖрдлреНрдиреИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ рднреЗрд▓рд╛ рдЧрд░реНрдпреМрдВ, рдЬреБрди рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдиреБрд╕рд╛рд░ рдкреВрд░рдХ рдерд┐рдпреЛред рдЕрдиреНрдп рддрдпрд╛рд░ рд╕рдорд╛рдзрд╛рдирд╣рд░реВрдХреЛ рд╡рд┐рд╕реНрддреГрдд рд╕рдореАрдХреНрд╖рд╛ рдкрдЫрд┐, рд╣рд╛рдореА рднрдиреНрди рд╕рдХреНрдЫреМрдВ рдХрд┐ рдпреЛ рдПрдХ рдореВрдЯ рдмрд┐рдиреНрджреБ рд╣реЛред рдЖрдлреНрдиреИ рд╕рд░реНрднрд░ рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдпрдХреЛ рдкрдХреНрд╖рдорд╛, рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдХреЛ рдЕрднрд╛рд╡рдорд╛ рдкреНрд░рджрд╛рдпрдХрд╣рд░реВрдХреЛ рдкрдХреНрд╖рдорд╛ рдЪрд┐рдиреНрддрд╛рд╣рд░реВ рдерд┐рдП, рд╕рд╛рдереИ рдкреБрд░рд╛рдиреЛ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐ рдерд┐рдпреЛ рдЬрд╕рдорд╛ рдХреЗрд╣реА рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдлрд░рдХ рдХрд╕реНрдЯрдо рдкреНрд░рд╛рдзрд┐рдХрд░рдгрд╣рд░реВ рдерд┐рдП рд░ рдзреЗрд░реИ рдзреЗрд░реИред рдХрд░реНрдордЪрд╛рд░реАрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдбрд╛рдЯрд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рднрдгреНрдбрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рдпрджреНрдпрдкрд┐, рддрдпрд╛рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдорд╛, рдПрдХреАрдХрд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдЫрдиреНред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, Keycloak рдХреЛ рдЖрдлреНрдиреИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдкреНрд░рдгрд╛рд▓реА рдЫ рд░ рдбрд╛рдЯрд╛ рд╕реАрдзреИ рдпрд╕рдорд╛ рднрдгреНрдбрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, рд░ рддреНрдпрд╣рд╛рдБ рддрдкрд╛рдЗрдБрдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдУрднрд░рдЯреЗрдХ рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рд╣реБрдиреЗрдЫреИрдиред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдХреАрдХреНрд▓реЛрдХрд╕рдБрдЧ рдПрдкреАрдЖрдИ рдЫ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕рдмреИ рдЖрд╡рд╢реНрдпрдХ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдХрд╛рд░реНрдпрд╣рд░реВ рдкреВрд░рд╛ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рдПрдХ рдкреНрд░рдорд╛рдгрд┐рдд, рд░реЛрдЪрдХ, рдореЗрд░реЛ рд╡рд┐рдЪрд╛рд░ рдорд╛, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЕрд░реНрдХреЛ рдЙрджрд╛рд╣рд░рдг Ory Hydra рд╣реЛред рдпреЛ рд░реЛрдЪрдХ рдЫ рдХрд┐рдирднрдиреЗ рдпреЛ рд╡рд┐рднрд┐рдиреНрди рдШрдЯрдХ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдПрдХреАрдХреГрдд рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рд╕реЗрд╡рд╛рд▓рд╛рдИ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕реЗрд╡рд╛рдорд╛ рд▓рд┐рдЩреНрдХ рдЧрд░реНрди рд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдиреБрд╕рд╛рд░ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рдХреАрдХреНрд▓реЛрдХ рд░ рдУрд░реА рд╣рд╛рдЗрдбреНрд░рд╛ рдорд╛рддреНрд░ рдЕрдл-рдж-рд╢реЗрд▓реНрдл рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рд╣реЛрдЗрдирдиреНред OpenID рдлрд╛рдЙрдиреНрдбреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЫрдиреМрдЯ рдЧрд░реНрдиреБ рдЙрддреНрддрдо рд╣реБрдиреНрдЫред рдпреА рд╕рдорд╛рдзрд╛рдирд╣рд░реВрдорд╛ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ OpenID рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдмреНрдпрд╛рдЬ рд╣реБрдиреНрдЫред

рдУрдкрдирдЖрдИрдбреА рдЬрдбрд╛рди: рдЕрдиреБрдХреВрд▓рдирдмрд╛рдЯ рдорд╛рдирдХрдорд╛ рдЖрдиреНрддрд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг

рдпрджрд┐ рддрдкрд╛рдИрдВ рдЖрдлреНрдиреЛ OIDC рд╕рд░реНрднрд░ рд░рд╛рдЦреНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрди рднрдиреЗ рдЕрд╡рд╕реНрдерд┐рдд рд╕рд╢реБрд▓реНрдХ рдкреНрд░рджрд╛рдпрдХрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдкрдирд┐ рдирдмрд┐рд░реНрд╕рдиреБрд╣реЛрд╕реНред рдЖрдЬ рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рд░рд╛рдореНрд░реЛ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЫрдиреНред

рдЕрдм рдХреЗ

рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдпрдорд╛, рд╣рд╛рдореА рдЕрд░реНрдХреЛ рддрд░рд┐рдХрд╛рд▓реЗ рдЖрдиреНрддрд░рд┐рдХ рд╕реЗрд╡рд╛рд╣рд░реВрдорд╛ рдЯреНрд░рд╛рдлрд┐рдХ рдмрдиреНрдж рдЧрд░реНрди рдЬрд╛рдБрджреИрдЫреМрдВред рд╣рд╛рдореА OAuth рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░реЛрдХреНрд╕реАрдорд╛ OpenResty рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░рдорд╛ рд╣рд╛рдореНрд░реЛ рд╣рд╛рд▓рдХреЛ SSO рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдиреЗ рдпреЛрдЬрдирд╛ рдмрдирд╛рдЙрдБрдЫреМрдВред рдпрд╣рд╛рдБ рдкрд╣рд┐рд▓реЗ рдиреИ рдзреЗрд░реИ рддрдпрд╛рд░ рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рдЫрдиреН, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐:
github.com/bitly/oauth2_proxy
github.com/ory/oathkeeper
github.com/keycloak/keycloak-gatekeeper

рдердк рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ

jwt.io - JWT рдЯреЛрдХрди рдкреНрд░рдорд╛рдгреАрдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рд░рд╛рдореНрд░реЛ рд╕реЗрд╡рд╛
openid.net/developers/certified - рдкреНрд░рдорд╛рдгрд┐рдд OIDC рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд╣рд░реВрдХреЛ рд╕реВрдЪреА

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди