рд░реЗрдбрдорд╛рдЗрди рдореЗрдВ рджреЛ-рдХрд╛рд░рдХ рдПрд╕рдПрдордПрд╕ рдкреНрд░рд╛рдзрд┐рдХрд░рдг

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

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



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

рдкреНрд▓рдЧрдЗрди рдХреЛ рдХреЙрд░реНрди redmine_sms_auth рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдмрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ stably рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ

рд░реЗрдбрдорд╛рдЗрди рдХреЛ рд░реЛрдХреЗрдВред

Github рдХреЗ рд╕рд╛рде рдкреНрд▓рдЧ рдЗрди рдЦреАрдВрдЪреЛ:

git clone https://github.com/olemskoi/redmine_sms_auth.git /opt/redmine/plugins/redmine_sms_auth 


рд╣рдо рдкреНрд░рд╡рд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ:
 bundle exec rake redmine:plugins:migrate RAILS_ENV="production" 


рд╣рдо рдЙрддреНрдкрд╛рджрди рдореЗрдВ Redmine config /opt/redmine/config/configuration.yml рдореЗрдВ рдкреНрд▓рдЧрдЗрди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ:

  sms_auth: command: '/usr/bin/curl --silent --show-error "https://smsc.ru/sys/send.php?charset=utf-8&login=LOGIN&psw=PASSWORD&phones=%{phone}&mes=factory.southbridge.ru code: %{password}"' password_length: 4 


рд╣рдо smsc.ru рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдирд╣реАрдВ рд╣реИрдВ

рдЪрд░реЛрдВ рджреНрд╡рд╛рд░рд╛:
рдХрдорд╛рдВрдб рд╕рдВрджреЗрд╢ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ, рдкреНрд▓рдЧрдЗрди рдПрд╕рдПрдордПрд╕ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред Smsc.ru рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд░реНрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ;

рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб - рдПрд╕рдПрдордПрд╕ рд╕реЗрд╡рд╛ рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд▓реЙрдЧрд┐рди / рдкрд╛рд╕рд╡рд░реНрдб рдпрд╣рд╛рдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;

рдлреЛрди =% {рдлреЛрди} - рдлреЛрди рдирдВрдмрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдореЗрдВ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛;

mes = factory.southbridge.ru - рдпрд╣ рдЗрд╕рд▓рд┐рдП рд╣реИ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╣ рджреЗрдЦ рд╕рдХреЗрдВ рдХрд┐ рдХреМрди рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдпреЛрдЧреНрдп рд╕реЗрдЯ рд╕реЗ рдЖрдпрд╛ рд╣реИ рдФрд░ рдбрд░ рдирд╣реАрдВ рд░рд╣рд╛ рд╣реИ;

password_length: 4 - рдкрд╛рд╕рд╡рд░реНрдб рдХреА рд▓рдВрдмрд╛рдИред

Redmine рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред

Redmine рд╕реЗрдЯрдЕрдк

рд░реЗрдбрдорд╛рдЗрди рдЯреНрдпреВрдирд┐рдВрдЧ рдХреА рддрд░рдл рд╕реЗ, рд╕рдм рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрддрд╛ рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рд╡рд╛рд▓реЗ рдкреГрд╖реНрда рдкрд░, рдлреЛрди рдирдВрдмрд░ + 7XXXXXXXXXXX (рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдореЗрдВ рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рддреГрддреАрдп-рдкрдХреНрд╖ рднреЗрдЬрдиреЗ рд╡рд╛рд▓реА рд╕реЗрд╡рд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ)ред

рд╣рдо рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдореЛрдб рдХреЛ "рдЖрдВрддрд░рд┐рдХ" рд╕реЗ "рдПрд╕рдПрдордПрд╕" рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред

рдЕрдм, рдЬрдм рд▓реЙрдЧрд┐рди / рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдкреНрд░рд╛рдзрд┐рдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реВрдк рдореЗрдВ рдПрдХ рдХреЛрдб рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
рдЫрд╡рд┐

рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рдлрд┐рд░ рд╕реЗ рдПрд╕рдПрдордПрд╕ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдВрдд!

рд╕рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ / рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ / рдкрд░рд┐рд╡рд░реНрдзрди рдХреЛ рдЦреБрд╢реА рдХреЗ рд╕рд╛рде рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

Source: https://habr.com/ru/post/In178073/


All Articles