Relogin рдФрд░ HTTP рдмреЗрд╕рд┐рдХ рдкреНрд░рд╛рдорд╛рдгрд┐рдХ

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

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

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

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

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

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

рдЗрд╕рд▓рд┐рдПтАж

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЖрдВрдХрдбрд╝реЗ:


  1. рдПрдХ рдЕрд▓рдЧ рд▓реЙрдЧрдЖрдЙрдЯ.html рдкреЗрдЬ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд╕рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рджреМрд░рд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
  2. Url рдирд┐рд░реНрджрд┐рд╖реНрдЯ - рд╕рдлрд▓ рд▓реЙрдЧрд┐рди рдХреЗ рдмрд╛рдж рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреГрд╖реНрда рдХрд╛ рдкрддрд╛
  3. Url401 рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ - рдЙрд╕ рдкреГрд╖реНрда рдХрд╛ рдкрддрд╛ рдЬреЛ рд╣рдореЗрд╢рд╛ HTTP 401 рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ (рдЕрдзрд┐рдХреГрдд рдирд╣реАрдВ)

// file logout.html
const url = new URL("http://mysite.com/");
const url401 = new URL("http://mysite.com/401");

рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕реНрдкреНрд▓реЛрд░рд░


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

if (document.execCommand("ClearAuthenticationCache")) {
    window.location.assign(url);
}

IE рдореЗрдВ, рдПрдХ ClearAuthenticationCache рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ "рдЙрди рдмрд╣реБрдд рдЧрд╣рд░реА рдЖрдВрддреЛрдВ" рдХреЛ рддреНрдпрд╛рдЧрддреА рд╣реИред рд╕рд░рд▓ рдФрд░ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдгред рдФрд░ рд╕рд╣рд╛рдпрдХ рдкреГрд╖реНрда 401 рдХреЗ рд╕рд╛рде рдХреЛрдИ рдиреГрддреНрдп рдирд╣реАрдВред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рдПрдЬ рдореЗрдВ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╢рд╛рдпрдж рд╣рд╛рдБред

рдпрджрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореМрдЬреВрдж рд╣реИ рдФрд░ "рдХрд╛рдо" рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ document.execCommand рд░рд┐рдЯрд░реНрди рд╕рд╣реА рд╣реИред рдлрд┐рд░ window.location.assign (url) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ

рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ (72.0.1)


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

рдЗрдирдкреБрдЯ:
рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ XMLHttpRequest рдпрд╛ рд▓рд╛рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 401 рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдкрд╛рд╕рд╡рд░реНрдб рдХреИрд╢ рдХреЛ рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреЗрд╡рд▓ URL рдореЗрдВ рд▓реЙрдЧрд┐рди / рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрдиреБрд░реЛрдз рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рдпрд╛рдиреА рдХреБрдЫ рдРрд╕рд╛ рд╣реИ
http: // рдХреЛрдИ рдирд╣реАрдВ: none@mysite.com/
рдХреЛрдб:

else if (/firefox|iceweasel|fxios/i.test(window.navigator.userAgent)) {
    url.username = 'none';
    url.password = 'none';
    window.location.assign(url);
}

рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рд▓реЙрдЧрд┐рди / рдкрд╛рд╕рд╡рд░реНрдб рдЗрдирдкреБрдЯ рдлреЙрд░реНрдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЬреЛ рднреА рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣ рдмрд╛рд░-рдмрд╛рд░ рдкреЙрдк рдЕрдк рд╣реЛрдЧрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдорд╛рди URL рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓реЙрдЧрд┐рди / рдкрд╛рд╕рд╡рд░реНрдб рдорд╛рди рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рд╣реИ рдХрд┐, рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдореВрд▓реНрдпреЛрдВ рдХреЗ рдмрдЬрд╛рдп, рдХреЛрдИ рдирд╣реАрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛: рдХреЛрдИ рднреА рд╣рд░ рдмрд╛рд░ рд╕рд░реНрд╡рд░ рдкрд░ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдПрдХ рдЕрд▓рдЧ рдирд╛рдо рд╕реЗ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд░рджреНрдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдкреНрд░рд╛рд░рдВрдн рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдПрдВ (http: //mysite.com/) рдФрд░ рд╡рд╣рд╛рдВ рдПрдХ рдирдпрд╛ рд▓реЙрдЧрд┐рди / рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░реЗрдВред

рдХреБрдЯрд┐рд▓? рд▓реЗрдХрд┐рди рдЕрдлрд╕реЛрд╕, рдЗрд╕рдХрд╛ рдХреЛрдИ рдФрд░ рдЙрдкрд╛рдп рдирд╣реАрдВ рд╣реИ

Google Chrome (79.0.3945.88)


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

else if (/chrome/i.test(window.navigator.userAgent)) {
    fetch(url401, {
      credentials: 'include',
      headers: {
        'Authorization': 'Basic ' + btoa('none:none'),
        'X-Requested-With': 'XMLHttpRequest'
      }
    }).then(() => {
      window.location.assign(url);
    }).catch(err => console.error(err));
}

рд╣рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЧрд▓рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо / рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдкреГрд╖реНрда 401 рдкрд░ рдПрдХ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рд╕рд░реНрд╡рд░ рд╕реЗ 401 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓рддреА рд╣реИ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрдкрдиреЗ рдХреИрд╢ рдХреЛ рдлреНрд▓рд╢ рдХрд░рддрд╛ рд╣реИред

рдЬрд░реВрд░реА! рд╕рд░реНрд╡рд░ рдХреЛ рдбрдмреНрд▓реНрдпреВрдбрдмреНрд▓реНрдпреВрдбрдмреНрд▓реНрдпреВ-рдСрдереЗрдВрдЯрд┐рдХреЗрдЯ рд╣реЗрдбрд░ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ред рдЕрдиреНрдпрдерд╛, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдирд┐рдпрдВрддреНрд░рдг рд▓реЗрдЧрд╛, рдФрд░ рдкреГрд╖реНрда 401 рд╕реЗ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢ рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрджрд┐ X-Requested-With: XMLHttpRequest рдЕрдиреБрд░реЛрдз рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ, рддреЛ рдХрдиреНрд╡реЗрдВрд╢рди рджреНрд╡рд╛рд░рд╛, рд╕рд░реНрд╡рд░ рдХреЛ рдЗрд╕ рд╣реЗрдбрд░ рдХреЛ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ред рдЗрд╕рд▓рд┐рдП, рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП X-Requested-With рд╢реАрд░реНрд╖рдХ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ ред

рд╕рдлрд╛рд░реА (12)


рд╕рдлрд╛рд░реА рдХреЗ рд▓рд┐рдП, рд╕реНрдерд┐рддрд┐ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд┐рдкрд░реАрдд рд╣реИ: XMLHttpRequest рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

else {
    const xhr = new XMLHttpRequest();
    xhr.open("GET", url401, true, 'none', 'none');
    xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
    xhr.onerror = function(err) {
      console.error(err);
    };
    xhr.onload = function () {
      window.location.assign(url);
    };
    xhr.send()
}

Chrome рдореЗрдВ рдХреНрд░рд┐рдпрд╛рдПрдБ рд╕рдорд╛рди рд╣реИрдВ, рдХреЗрд╡рд▓ XMLHttpRequest рдХреЗ рдорд╛рдзреНрдпрдо

рд╕реЗ Safari 6+ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкрд╣рд▓реЗ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдЕрдкрдиреЗ рдмрдЧ рдереЗред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 5.1 рд╕реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХреЗ рд╕рд╛рде, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдиреЗ рдЬрдмрд░рди рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЕрдВрддрд┐рдо рдкреГрд╖реНрда рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ред рдФрд░ 5.0 рд╕реЗ рдкрд╣рд▓реЗ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рд▓реЙрдЧрд┐рдВрдЧ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ред

All Articles