Zammad: рдПрдХ рдмрд╛рд░ рджрд░реНрдЬ рдХрд░рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 20 рдЬреВрди 2017  ┬╖  30рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: zammad/zammad

рдЬрд╛рдирдХрд╛рд░реА:

  • рдЬрд╝рдорд╛рдж рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╕рдВрд╕реНрдХрд░рдг: рдирд╡реАрдирддрдо
  • рдЬрд╝рдордж рд╕рдВрд╕реНрдерд╛рдкрди рд╕реНрд░реЛрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛: rpm
  • рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рд╕реЗрдВрдЯреЛрд╕ 7
  • рдмреНрд░рд╛рдЙрдЬрд╝рд░ + рд╕рдВрд╕реНрдХрд░рдг: рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдирд╡реАрдирддрдо

рдпрд╣ рд╕рд┐рдВрдЧрд▓ рд╕рд╛рдЗрди рдСрди рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдПрдХ рдкреНрд░рд╢реНрди рд╣реИред рд╣рдо рдЕрдкрдиреА рдХрдВрдкрдиреА рдореЗрдВ рдПрдХ Microsoft рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд▓реЙрдЧрд┐рди ldap-sync рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдПрд╕рдПрд╕рдУ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕реЗ nginx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЗрдЯ рдЕрдк рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ :-(

рдХреНрдпрд╛ рдЗрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ? рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдиреЗ рдкрд╣рд▓реЗ рд╣реА SSO рдХреЗ рд╕рд╛рде Zammad рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░ рд▓реА рд╣реЛ? рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдирд┐рд░реНрджреЗрд╢ рдпрд╛ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдкрд╣рд▓реЗ рд╣реА, рдЖрдкрдХрд╛ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

authentication documentation feature backlog prioritised by payment verified

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

рд╕рд┐рдВрдЧрд▓ рд╕рд╛рдЗрди-рдСрди рдЕрдВрддрдд: develop рдЧрдпрд╛ рд╣реИ, @rue рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣ рдХреБрдЫ рд╣реА рд╣рдлреНрддреЛрдВ рдореЗрдВ рдЖрдЧрд╛рдореА 3.2 рд░рд┐рд▓реАрдЬ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдЧрд╛ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ develop рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЬрд╝рдорд╛рдж рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЕрджреНрдпрддрди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИред рд╣рдо рдЙрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк SSO рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдПрдХ рдирдП Zammad (рдкрд░реАрдХреНрд╖рдг) рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@MrGeneration рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдЕрдЧрд▓реЗ рдЦрд╛рд▓реА рд╕рдордп рд╕реНрд▓реЙрдЯ рдореЗрдВ SSO рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

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

рд╣рд╛рдп @ рдЬреИрдЧрд░13 ,

рдмреЗрд╢рдХ рдпрд╣ рд╕рдВрднрд╡ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЕрдкрд╛рдЪреЗ httpd рдХрд╛ рдЙрдкрдпреЛрдЧ mod_auth_kerb рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕ рддрд░рд╣ рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде:

<LocationMatch "/auth/sso">
  SSLRequireSSL
  AuthType Kerberos
  AuthName "Your Zammad"
  KrbMethodNegotiate On
  KrbMethodK5Passwd On
  KrbAuthRealms YOUR.REALM
  KrbLocalUserMapping on
  KrbServiceName HTTP/[email protected]
  Krb5KeyTab /etc/httpd/zammad.keytab
  require valid-user
</LocationMatch>

рдЪреБрдиреА рдЧрдИ рдпреВрдЖрдИрдбреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ (рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ sAMAccountName) рдпрд╣ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдФрд░ рдЖрдкрдХреЛ рдЕрдкрд╛рдЪреЗ рдХреЛ nginx рдХреЗ рдмрдЬрд╛рдп рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЬрдм рддрдХ рдСрде рдореЙрдбреНрдпреВрд▓ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ REMOTE_USER рдпрд╛ HTTP_REMOTE_USER рдореЗрдВ рдкреНрд░рдорд╛рдгрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рджреЗрддрд╛ рд╣реИ, рддрдм рддрдХ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдЬреИрд╕реЗ auth_mellon рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

рдПрдЪрдЯреАрдПрдЪ, рд░реЙрдп

рдЕрд░реЗ @rkaldung ,

рдЖрдкрдХреЗ рддреЗрдЬрд╝ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдЗрд╕реЗ рдЕрдкрд╛рдЪреЗ рдФрд░ рдЖрдкрдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдЖрдЬрд╝рдорд╛рдЙрдВрдЧрд╛ :-)
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдЗрд╕реЗ nginx рдХреЗ рд╕рд╛рде рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ :-(

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

рд╣рд╛рдп @ рдЬреИрдЧрд░13 ,

Nginx рдХреЗ рд╕рд╛рде рдПрдХ рд░рд╛рд╕реНрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдордп рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд┐рдирд╛ред @martini рдЗрд╕ рдкрд░ рдЖрдкрдХреЗ рджреЛ рд╕реЗрдВрдЯ?

рдирдорд╕реНрддреЗ @rkaldung

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

рдирдорд╕реНрддреЗ @scimitar4444

@rkaldung рдХрд╛ рдЕрд░реНрде рд╣реИ https://github.com/jgraichen/omniauth-kerberos рдЬреИрд╕реЗ рд░реЗрд▓ рд╕реНрддрд░ рдкрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди - рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдкрд╣рд▓реЗ рдЬрд╝рдордж рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ

рдорд╛рд░реНрдЯрд┐рди

@ рдорд╛рд░реНрдЯрд┐рдиреА рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИ ЁЯШЬ

рдореИрдВ рдЖрдкрдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ SSO рдХреЛ рдХрд╛рдо рджрд┐рд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ http://myserver.mydom.local/auth/sso рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░рдирд╛ рдореБрдЭреЗ рд╡рд╛рдкрд╕ рд▓реЙрдЧрд┐рди рдкреЗрдЬ рдкрд░ рд▓реЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред . . рдХреНрдпрд╛ рдореЗрдВ рдХреБрдЫ рднреВрд▓ рд░рд╣рд╛ рд╣реВрдБ ?

(рд╕реНрдЯреИрдирдлреЛрд░реНрдб) рд╡реЗрдмрде (рдФрд░ рдПрд▓рдбреАрдПрдкреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рдПрд╕рдПрд╕рдУ рдореЗрдВ рд╕рдлрд▓ рд▓реЙрдЧрд┐рди рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рд▓реЙрдЧрд┐рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рдорд╛рдб рдкреНрд░реЙрдореНрдкреНрдЯ рдорд┐рд▓рддрд╛ рд╣реИред
рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛: рдЙрдмрдВрдЯреВ 16.04; рдЬрдорд╛рдж 2.2.0; рдЕрдкрд╛рдЪреЗ, рдорд╛рд░рд┐рдпрд╛рдбреАрдмреА; (REMOTE_USER webauth рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)

@rkaldung рдХреНрдпрд╛ рдЖрдк sth рдЬрд╛рдирддреЗ рд╣реИрдВред рдирдпрд╛?

рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛:

рд╕рдорд╕реНрдпрд╛: lib/sso/env.rb рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ PUMA рд╕реЗ рдЖрд╡рд╢реНрдпрдХ request.env рдХреЗ рдмрд┐рдирд╛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП 'REMOTE_USER' рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред

рд╕рдорд╛рдзрд╛рди:
рдлрд╝рдВрдХреНрд╢рди 'create_sso' рдХреЗ рдЕрдВрджрд░ 'zammad/app/controllers/sessions_controller.rb' рдореЗрдВ request.env рд╕реЗ ENV рдореЗрдВ 'REMOTE_USER' рдЬреЛрдбрд╝реЗрдВ

   # export required environment variables for sso
   ENV['REMOTE_USER'] = request.env['REMOTE_USER']
   ENV['HTTP_REMOTE_USER'] = request.env['HTTP_REMOTE_USER']

@martini рдХреНрдпрд╛ рдпрд╣ PUMA рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ httpd.conf рдореЗрдВ рд╣реЗрдбрд░-рдлрд╝реАрд▓реНрдб рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рдпрдо рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:

RequestHeader merge REMOTE_USER %{REMOTE_USER}s

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ 2018-01-08:
рдкрд┐рдХрд╛рдЪреБрдкреНрд░реЛрдл рдХреЗ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд╕рд╛рде рдЕрдм рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ /etc/krb5.conf рдХреЙрдиреНрдлрд┐рдЧ рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдкреЛ рдерд╛ред

рдЬрд╛рдирдХрд╛рд░реА:
рдЬрд╝рдорд╛рдж рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╕рдВрд╕реНрдХрд░рдг: рдирд╡реАрдирддрдо
рдЬрд╝рдордж рд╕рдВрд╕реНрдерд╛рдкрди рд╕реНрд░реЛрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛: rpm
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рд╕реЗрдВрдЯреЛрд╕ 7
рдмреНрд░рд╛рдЙрдЬрд╝рд░ + рд╕рдВрд╕реНрдХрд░рдг: рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдирд╡реАрдирддрдо

Apache Server Config:
<VirtualHost *:443>
    ServerName ***
    ServerAdmin ***

    DocumentRoot "/opt/zammad/public"

    <IfModule !mod_auth_kerb.c>
        LoadModule auth_kerb_module /usr/lib64/httpd/modules/mod_auth_kerb.so
    </IfModule>

    ProxyRequests Off
    ProxyPreserveHost On

    <Proxy localhost:3000>
        Require local
    </Proxy>

    ProxyPass /assets !
    ProxyPass /favicon.ico !
    ProxyPass /robots.txt !
    ProxyPass /ws ws://localhost:6042/
    ProxyPass / http://localhost:3000/

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory "/opt/zammad/public">
        Options FollowSymLinks
        Require all granted
    </Directory>

    <Location "/auth/sso">
        Order allow,deny
        Allow from all

        AuthType Kerberos
        AuthName "Ticketsystem Kerberos Login"
        KrbServiceName HTTP
        KrbMethodNegotiate on
        KrbMethodK5Passwd on
        KrbLocalUserMapping off
        KrbSaveCredentials on

        Require valid-user

        # Environment specific: Path to the keytab and the realm
        Krb5Keytab /etc/kerberos.keytab
        KrbAuthRealm ***
    </Location>

    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/***
    SSLCertificateKeyFile /etc/pki/tls/private/***

    ErrorLog "logs/***-error_log"
    CustomLog "logs/***-access_log" common
</VirtualHost>

рдЬрдм рдореИрдВ https:// /auth/sso рдФрд░ "KrbLocalUserMapping on" рдЦреЛрд▓рддрд╛ рд╣реВрдВ рддреЛ рдореЗрд░рд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИ:рдЖрдВрддрд░рд┐рдХ рд╕рд░реНрд╡рд░ рддреНрд░реБрдЯрд┐рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХ рдЖрдВрддрд░рд┐рдХ рддреНрд░реБрдЯрд┐ рдпрд╛ рдЧрд▓рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рд╡рд╣ рдЖрдкрдХрд╛ рдЕрдиреБрд░реЛрдз рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдерд╛редрдХреГрдкрдпрд╛ admin@ рдкрд░ рд╕рд░реНрд╡рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВ ред
рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╕рд░реНрд╡рд░ рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЕрдЧрд░ рдореИрдВ "KrbLocalUserMapping off" рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореЗрд░рд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ https:// * /#login . рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

рдореИрдВ "RequestHeader рдорд░реНрдЬ REMOTE_USER%{REMOTE_USER}s" рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ!

рд╣рдордиреЗ рдПрдХ рдФрд░ рдЫреЛрдЯрд╛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдЬреЛрдбрд╝рд╛ рд╣реИ:

RewriteEngine   On
RewriteCond     %{HTTP_COOKIE} !^.*zammad_session.*$
RewriteRule     ^/$ https://%{SERVER_NAME}/auth/sso [R,L]

рдЕрдкрд╛рдЪреЗ-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдпреЗ рд▓рд╛рдЗрдиреЗрдВ '/' рдХреЛ '/auth/sso' рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рддреА рд╣реИрдВ, рдЬрдм рддрдХ рдХрд┐ рдХреЛрдИ рдЬрд╝рдорд╛рдб рдХреБрдХреА рд╕реЗрдЯ рди рд╣реЛред рдпрд╣ рдЕрдВрддрд╣реАрди рд▓реВрдк рдмрдирд╛рдП рдмрд┐рдирд╛ SSO рд▓реЙрдЧрд┐рди рдкреГрд╖реНрда рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк 'рдЖрдВрддрд░рд┐рдХ рд╕рд░реНрд╡рд░ рддреНрд░реБрдЯрд┐' рд╣реЛрддреА рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред . . рдЕрдкрд╛рдЪреЗ рд▓реЙрдЧ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреЛ /auth/sso рдХреЗ рд▓рд┐рдП рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдореЗрд░рд╛ рдЕрдиреБрд░реЛрдз / рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред . . рд╢рд╛рдпрдж рдореИрдВрдиреЗ create_sso рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЧрд▓рддреА рдХреА рд╣реИ! рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддрд╛ рд╣реИ?

@pikachuprof рдореИрдВрдиреЗ omniauth-kerberos рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛ред

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

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╣реИрдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд░реНрдмреЗрд░реЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореВрд▓ рд▓реЙрдЧрд┐рди рдХреЗ рд▓рд┐рдП рдпрд╣ рдареАрдХ рд╣реИред рдореИрдВ

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 'рд╡рди-рдЯрд╛рдЗрдо рд▓реЙрдЧрд┐рди/рдкреНрд░рдорд╛рдгреАрдХрд░рдг' рдХреЗ рд╕рд╛рде рдЙрдиреНрдирдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП kinit рдПрдХ рдмрд╛рд░ рдФрд░ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдирд╛) рдФрд░ рдлрд┐рд░ рдЖрдк рдмрд┐рдирд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рднреА рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ zammad/рдЖрдВрддрд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ/ftp рдореЗрдВ ssh/рд▓реЙрдЧрд┐рди рдХрд░реЗрдВ ( SPNEGO/GSSAPI) рдХреЗрд╡рд▓ рдлреНрд░рдВрдЯрдПрдВрдб рд╡реЗрдмрд╕рд░реНрд╡рд░ (рдЬреИрд╕реЗ рдЕрдкрд╛рдЪреЗ) рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЖрдк рдЕрднреА рдХрд░ рд░рд╣реЗ рд╣реИрдВред

screen shot 2018-02-27 at 8 37 57 pm
screen shot 2018-02-27 at 8 48 00 pm

@muhammadn рд╣рдо рд╕реНрдЯреИрдирдлреЛрд░реНрдб рд╡реЗрдмрде (mod_auth_webauth) рдирд╛рдордХ рдПрдХ

рдЗрд╕ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдЕрдкрд╛рдЪреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ - рд▓реЗрдХрд┐рди Zammad рдХреЛ REMOTE_USER рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди "рд╡реЗрдмрд╕рд░реНрд╡рд░-рдСрде" рддрдВрддреНрд░реЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рднреА рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╛ sthред рд╕рдорд╛рди?), рд╕рд╛рде рд╣реА рд╕рд╛рде рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдХреБрдХреА рдХреА рдЬрд╛рдВрдЪ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд┐рдП рдмрд┐рдирд╛ "рд▓реЙрдЧрд┐рди-рд▓реВрдк" рд╕реЗ рдмрд╛рд╣рд░, рдЬреЛ рдереЛрдбрд╝рд╛ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд▓рдЧрддрд╛ рд╣реИред

@pikachuprof рдореИрдВрдиреЗ https://github.com/muhammadn/zammad/commit/7e8e01bff8226f2d74e80cbc307416db9bf2ac1d рдкрд░ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдпрд╛ рд╣реИ

рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдПрдХ рдЬрд╝рдорд╛рдб рд╕реБрд╡рд┐рдзрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рд▓рд┐рдП omniauth-kerberos рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдЖрдкрдХреЛ apache рдХреЛ kerberos рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рд╕рдм рдХреБрдЫ Zammad рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдпрд╣ рд░реЗрд▓-рд╕реНрддрд░реАрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ) рдФрд░ рд╣реЗрдбрд░ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ mod_auth_webauth рдореЗрдВ REMOTE_USER рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред

рдЖрдкрдХреЛ рдмрд╕ рдЕрдкрдирд╛ krb5.conf рдареАрдХ рд╕реЗ рд╕реЗрдЯрдЕрдк рдХрд░рдирд╛ рд╣реИред

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

[logging]
    default = FILE:/var/log/krb5.log

[libdefaults]
    default_realm = ZAMMAD.COM
    kdc_timesync = 1
    ccache_type = 4
    forwardable = true
    proxiable = true

[realms]
    ZAMMAD.COM = {
        kdc = kdc.zammad.com
        admin_server = kdc.zammad.com
        default_domain = zammad.com
    }

[domain_realm]
    .zammad.com = ZAMMAD.COM
    zammad.com = ZAMMAD.COM

рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐рд╕реА рднреА рдореБрджреНрджреЗ рдХреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп https://github.com/muhammadn/zammad/issues рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЬрд╝рдордж рдХреЗ рд╕рд╛рде рд▓реЙрдЧрд┐рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдкрд░рдХреЗрд╕ рдореЗрдВ рдХреНрд╖реЗрддреНрд░ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛: рдЙрджрд╛рд╣рд░рдг: [email protected]

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

рдореЗрд░реЗ рд▓рд┐рдП рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ред рдореИрдВ рдЕрдкрд╛рдЪреЗ рдкрдХреНрд╖ рд╕реЗ рдПрдХ рдПрд╕рдПрд╕рдУ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ (рдЬреЛ REMOTE_USER рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рддрд╛ рд╣реИ) 2 рд╡рд┐рдзрд┐рдпреЛрдВ (рдХреЗрд░реНрдмрд░реЛрд╕ рдФрд░ рдПрдХреНрд╕ 509 рдПрд╕рдПрд╕рдПрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░) рдХреЗ рд╕рд╛рдеред рдФрд░ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддреЗ Zammad LDAP рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рднрд░реЗ рд╣реБрдП рд╣реИрдВред

  • @EDVLeer рдХреЗ рд░реВрдк рдореЗрдВ рдЬрдм рдореИрдВ /auth/sso рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдЕрдкрд╛рдЪреЗ рд▓реЙрдЧ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЙрдЧрд┐рди рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ (рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдореИрдВ рдлрд┐рд░ рд╕реЗ рд▓реЙрдЧрд┐рди рд╕реНрдХреНрд░реАрди рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реВрдВред
  • рдореИрдВрдиреЗ zammad/app/controllers/sessions_controller.rb ( @pikachuprof hack) рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рд╣реИрдХ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди @EDVLeer рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╛ рддреЛ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЧрд▓рдд рдЬрдЧрд╣ рдкрд░ рд░рдЦрд╛, рдпрд╛ рддреЛ рдХреЛрдб рдмрд╛рдж рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ рдФрд░ рд╣рдореЗрдВ рдЗрд╕реЗ рдЕрдм рдХрд╣реАрдВ рдФрд░ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред
  • рдореИрдВрдиреЗ @pikachuprof рд╣реИрдХ рдХреЛ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА / рдЕрдЧрд░ рдХреЛрдИ рдХреБрдХреА рд╣реИ, рддреЛ рдХреЛрдИ рднрд╛рдЧреНрдп рдирд╣реАрдВ рд╣реИ
  • рдореИрдВ рдЕрдм рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рдмрд╛рд╣рд░ рд╣реВрдБ :D

рдЗрд╕рд▓рд┐рдП...

  • рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рдорд╛рдж рдореЗрдВ рдПрдХ рдкреНрд▓рдЧрдЗрди рдпрд╛ рдХреБрдЫ рд╕рдХреНрд░рд┐рдп рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
  • рдХреНрдпрд╛ рдпрд╣ рдХреЛрдб рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИ? (рд╢рд╛рдпрдж рд╣рд╛рдБ, рдЕрдЧрд░ рд╣рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдмрджрд▓рдирд╛ рд╣реИ)
  • рдХреНрдпрд╛ рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ url /auth/sso рдЕрднреА рднреА рдорд╛рдиреНрдп рд╣реИ?
  • рдпрд╛ рдЬрд╝рдордж рдХреЗ рд╕рд╛рде рдПрд╕рдПрд╕рдУ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рдкрд░ рдХреЛрдИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реИ?

рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ:

Kerberos рдХреЗ рд▓рд┐рдП рд╡рд┐рдиреНрдпрд╛рд╕

<Location "/auth/sso">
    Options FollowSymLinks
    AuthType        Kerberos
    AuthName        "My Name"
    KrbMethodNegotiate  On
    # 'Off' to force users having a valid kerberos ticket, and not prompting for a login/pass
    KrbMethodK5Passwd   Off
    KrbAuthRealms       MY-DOMAIN.FR
    Krb5KeyTab      /etc/krb5.keytab
    KrbLocalUserMapping On
    KrbServiceName      HTTP
    Require valid-user
</Location>

X509 SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди

рдиреЛрдЯ: рдЖрдкрдХреЛ рдЕрдкрдиреА рдЕрдкрд╛рдЪреЗ 'рд╕реАрдП рдмрдВрдбрд▓' рдлрд╝рд╛рдЗрд▓ ( SSLCACertificateFile ) рдореЗрдВ рдЕрдкрдирд╛ рд╕реАрдП рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ (.crt) рд╕рдВрд▓рдЧреНрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдЕрдкрд╛рдЪреЗ рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХреЗ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдареАрдХ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ

# Let this before <Location> to get the certificate at the first connect, and avoid SSL renegotiation
# when we now the real url
SSLVerifyClient     require
<Location "/auth/sso">
    Options FollowSymLinks
    SSLRequireSSL
    SSLVerifyDepth      1    # Depend of your config. Can be higher
    Require expr %{SSL_CLIENT_I_DN_CN} in {'MY CA NAME'}
    SSLOptions      +StdEnvVars
    # Get the 'firstname.lastname' part of the corporate email, and populate REMOTE_USER
    RewriteEngine       On
    RewriteCond     %{SSL:SSL_CLIENT_S_DN_Email} ^(.+)@.+$
    RewriteRule     .* - [E=REMOTE_USER:%1]
    RequestHeader set REMOTE_USER %{REMOTE_USER}e
</Location>

рдореИрдВ рдПрд╕рдПрд╕рдУ рдореБрджреНрджреЗ рдХреЛ "рд╣рд▓" рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рд╣реА рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореЗрд░рд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдирд╡реАрдирддрдо рдЬрд╝рдордж рд╕рдВрд╕реНрдХрд░рдг (2.5) рд╣реИ рдЬрд┐рд╕рдореЗрдВ Apache2 2.4 Postgres рдХреЗ рд╕рд╛рде рд╣реИред mod_auth_kerb рдХреЗ рд╕рд╛рде SSO рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рд╕рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП LDAP рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИред рдореИрдВрдиреЗ SAMACOUNTNAME рдХреЛ рд▓реЙрдЧрд┐рди рдирд╛рдо рд╕реЗ рдореИрдк рдХрд┐рдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд╡рд┐рдВрдбреЛрдЬ рдпреВрдЬрд░рдиреЗрдо рдЗрд╕реНрдЯ рд╕реНрдХрдореИрди рд╣реИред рддреЛ рдореИрдВ рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реЗ рд▓реЙрдЧрд┐рди рдХрд░ рд╕рдХрддрд╛ рдерд╛ (рдИ-рдореЗрд▓ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ)ред

рдЙрд╕рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ session_controller.rb рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ (рд▓рд╛рдЗрди 173 рдкрд░)

ENV['HTTP_REMOTE_USER']=request.env['HTTP_REMOTE_USER']

рдЗрд╕рд▓рд┐рдП рдЬрд╝рдореНрдордж HTTP_REMOTE_USER рдХреЛ рдЬрд╛рдирддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж рд▓реЙрдЧрд┐рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ HTTP_REMOTE_USER рдХрд╛ рдорд╛рди рдЕрдм [email protected] рд╣реИред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЕрдкрдиреЗ vHost рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВред

RequestHeader edit REMOTE_USER "@DOMAIN.AT" ""

рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж (Apache2 рдФрд░ Zammad) рдореИрдВ http://zammad.domain.at/auth/sso рдХреЗ рд╕рд╛рде рдПрд╕рдПрд╕рдУ рдХреЗ рд╕рд╛рде рд▓реЙрдЧрд┐рди рдХрд░ рд╕рдХрддрд╛ рдерд╛

рдЕрдЧрд░ рдХреЛрдИ рдЬрд░реНрдорди рдмреЛрд▓рддрд╛ рд╣реИ, рддреЛ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдмреНрд▓реЙрдЧ рдкрд░ рдПрдХ рдЫреЛрдЯреА рд╕реА рдкреЛрд╕реНрдЯ рд▓рд┐рдЦреА рд╣реИред

@schmanat рдЖрдкрдиреЗ "рд▓реЙрдЧрд┐рди-рд▓реВрдк" рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдпрд╛ рдХреНрдпрд╛ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ "/ auth/sso" рдпреВрдЖрд░рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рджреЗрддреЗ рд╣реИрдВ?

рдЕрднреА рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ /auth/sso url рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдЧрд▓реА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдЦреЛрджрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреЗ рдКрдкрд░ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ (рдкреБрдирд░реНрд▓реЗрдЦрди рдирд┐рдпрдо) рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ?

рд╣рд╛рдБ рдпрд╣ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИред

рдЗрд╕ рдкрд░ рдЖрдкрдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдФрд░ рдЖрдкрдиреЗ рдЬреЛ рдХрд┐рдпрд╛ рд╣реИ рдЙрд╕рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рджред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ рдиреБрдХрд╕рд╛рди рдореЗрдВ рд╣реВрдВред рдЬреИрд╕рд╛ рдХрд┐ рджреВрд╕рд░реЛрдВ рдиреЗ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ рд╣реИ, рдореБрдЭреЗ рднреА "рдСрде/рдПрд╕рдПрд╕рдУ" рдПрдВрдбрдкреЙрдЗрдВрдЯ рдорд╛рд░рдиреЗ рдХреЗ рдмрд╛рдж рд▓реЙрдЧрд┐рди рдкреЗрдЬ рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдЬреЛ рдХреБрдЫ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдпрд╣рд╛рдВ рд╣реИ:

  • рдбреЗрдмрд┐рдпрди 9 (рдЦрд┐рдВрдЪрд╛рд╡) рдкрд░ рдЬрд╝рдордж рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛
  • рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ ldap рдПрдХреАрдХрд░рдг (рдореИрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ samaccountname -> login )
  • AD рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо/рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рд▓реЙрдЧрд┐рди рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХреА рдЧрдИ
  • AD рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╕реЗрд╡рд╛ рдЦрд╛рддрд╛ (рдмрд╕ zammad рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ)
  • zammad рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдореЗрдВ рдореИрдк рдХрд┐рдП рдЧрдП рдХреАрдЯреИрдм рдмрдирд╛рдпрд╛ рдЧрдпрд╛
  • рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдХреЗрд░реНрдмреЗрд░реЛрдЬ рдХреНрд▓рд╛рдЗрдВрдЯ/рджрд╛рдпрд░реЗ ( /etc/krb5.conf )
  • kinit рд╕рд╛рде рд╕рддреНрдпрд╛рдкрд┐рдд kerberos рд╡рд╛рддрд╛рд╡рд░рдг
  • рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдХреАрдЯреИрдм рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ (рдХреЗрдбреАрд╕реА рд╕реЗ рдЯреАрдЬреАрдЯреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо)
  • рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ Apache2 vhost (рдЬреИрд╕рд╛ рдХрд┐ cohausz рджреНрд╡рд╛рд░рд╛ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)
  • рд╕рдВрд╢реЛрдзрд┐рдд sessions_controller.rb (рдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдХрд╛рдЪреБрдкреНрд░реЛрдл рджреНрд╡рд╛рд░рд╛ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)
  • vhost config рдореЗрдВ рд╣реЗрдбрд░ рдирд┐рдпрдо рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ (рдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдХрд╛рдЪреБрдкреНрд░реЛрдл рджреНрд╡рд╛рд░рд╛ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)

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

рдиреАрдЪреЗ рдореЗрд░реЗ Apache2 рд▓реЙрдЧ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ ... рдореИрдВ рдХреИрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ REMOTE_USER / HTTP_REMOTE_USER рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдЪрд░рдг рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдЖрдЬрд╝рдорд╛ рд╕рдХрддрд╛ рд╣реВрдБ?

zammad.example.com:443 10.1.4.197 - - [09/Aug/2018:09:39:23 -0500] "GET /auth/sso HTTP/1.1" 401 855 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
zammad.example.com:443 10.1.4.197 - [email protected] [09/Aug/2018:09:39:23 -0500] "GET /auth/sso HTTP/1.1" 302 969 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
zammad.example.com:443 10.1.4.197 - - [09/Aug/2018:09:39:23 -0500] "GET / HTTP/1.1" 200 1757 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
zammad.example.com:443 10.1.4.197 - - [09/Aug/2018:09:39:23 -0500] "POST /api/v1/signshow HTTP/1.1" 200 15874 "https://zammad.example.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
zammad.example.com:443 10.1.4.197 - - [09/Aug/2018:09:39:24 -0500] "GET /api/v1/translations/lang/en-us?_=1533825563736 HTTP/1.1" 200 720 "https://zammad.example.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
zammad.example.com:443 10.1.4.197 - - [09/Aug/2018:09:39:24 -0500] "GET /assets/images/fed16b83d2e87ea36cea961d6d8a2101.png HTTP/1.1" 304 210 "https://zammad.example.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36" 

рдирдорд╕реНрддреЗ,

рдореЗрд░реЗ рдкрд╛рд╕ @ jeremyj563 рдЬреИрд╕реА рд╣реА рддреНрд░реБрдЯрд┐ рд╣реИред

рдХреНрдпрд╛ рдПрд╕рдПрд╕рдУ рдХреЗ рд╕рд╛рде рд▓реЙрдЧрд┐рди рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ?

рдЬрд╡рд╛рдм рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

рдореБрдЭреЗ рдПрд╕рдПрд╕рдУ рдореЗрдВ рднреА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред

рдпрд╣ SSO рдХреЗ рд▓рд┐рдП Azure AD рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ред

рд╣рдо рднреА рдмрд╣реБрдд рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпреВрдиреАрд╡реЗрд╢рди рдЯреЗрд╕реНрдЯ рдРрдк рд╕реЗрдВрдЯрд░ рдореЗрдВ рдРрдк рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдмрд╣реБрдд рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реВрдВред

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

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

рд╣рдо рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛрдиреЗ рддрдХ SSO рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдкреБрд░рдЬрд╝реЛрд░ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЪреНрдЫреА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдПрд╕рдПрд╕рдУ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИред

рд╕рд┐рдВрдЧрд▓ рд╕рд╛рдЗрди-рдСрди рдЕрдВрддрдд: develop рдЧрдпрд╛ рд╣реИ, @rue рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣ рдХреБрдЫ рд╣реА рд╣рдлреНрддреЛрдВ рдореЗрдВ рдЖрдЧрд╛рдореА 3.2 рд░рд┐рд▓реАрдЬ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдЧрд╛ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ develop рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЬрд╝рдорд╛рдж рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЕрджреНрдпрддрди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИред рд╣рдо рдЙрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк SSO рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдПрдХ рдирдП Zammad (рдкрд░реАрдХреНрд╖рдг) рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@MrGeneration рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдЕрдЧрд▓реЗ рдЦрд╛рд▓реА рд╕рдордп рд╕реНрд▓реЙрдЯ рдореЗрдВ SSO рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдПрдХ рдЕрдиреБрд╡рд░реНрддреА рдерд╛ред рдХреГрдкрдпрд╛ рдЙрдкрд░реЛрдХреНрдд рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд╣рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдмрдирд╛рдиреЗ рдореЗрдВ рдХреБрдЫ рдмрд╛рдзрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреЗ рд░реВрдк рдореЗрдВ https://github.com/zammad/zammad-admin-documentation рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХреА рдЕрддреНрдпрдзрд┐рдХ рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреАред
рдПрдкреАрдЖрдИ рдПрдВрдбрдкреЙрдЗрдВрдЯ /auth/sso ред рд╣рдо рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рдореНрди рдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ рдореМрдЬреВрдж рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА login рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрдЧреА:

  • рдИрдПрдирд╡реА REMOTE_USER
  • рдИрдПрдирд╡реА HTTP_REMOTE_USER
  • рд╣реИрдбрд░ X-Forwarded-User

рдореБрдЭреЗ рдмрддрд╛рдпреЗ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рднреА рд╕рд╡рд╛рд▓ рд╣реИред рдореБрдЭреЗ рдЙрдирдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИред

рдЕрдм рдмрдВрдж рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП: SSO рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╡рд░реНрддрдорд╛рди рдореЗрдВ QA рдХреЗ рджреМрд░ рд╕реЗ рдЧреБрдЬрд░ рд░рд╣рд╛ рд╣реИред
https://github.com/zammad/zammad-documentation/pull/147

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

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

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

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

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

em-ex picture em-ex  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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