рдЬреЗ рдХреЗ рд▓рд┐рдП рдЖрдпрд╛рдд рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реВрдЪреА рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ

рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ "рдирд╣реАрдВ рдвреВрдВрдврдиреЗ" рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рд╕рдорд╕реНрдпрд╛ рдкреАрдбреАрдбреА (рдПрдХ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рдореЗрд▓) рд╕реЗ рдпреИрдВрдбреЗрдХреНрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдПрдкреАрдЖрдИ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗрд╡рд▓ рдПрдкреАрдЖрдИ рдХреЗ "рдкреБрд░рд╛рдиреЗ" рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреА рдЧрдИ рдереА, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЧреИрд░-рдХрд╛рдордХрд╛рдЬреА рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рд╕рдВрдЧрдарди рдореЗрдВ "рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ" рдХреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП, рдЖрдЬ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рд╕рд░рд▓ рдЫреЛрдЯреА рд▓рдХреАрд░ рд╣реИред

#!/bin/bash #     employees='./usrlist' #   usrlist: email_firstname_lastname_middlename # OAuth_Token #      # https://tech.yandex.ru/oauth/doc/dg/tasks/get-oauth-token-docpage/ TOKEN="bash!bash!bash!bash!bash!bash!bash!bash!" #       PASS="superstrongpasswordforyou" #      for i in $( cat $employees ); do value=($(echo $i | tr "_" " ")) #      email="${value[0]}" firstname="${value[1]}" lastname="${value[2]}" middlename="${value[3]}" #   curl -i -X POST -H 'Content-type: application/json' -d '{"department_id": 1, "password": "'$PASS'", "nickname": "'$email'", "name": {"first": "'$firstname'", "last": "'$lastname'", "middle": "'$middlename'"}}' -H "Authorization: OAuth $TOKEN" 'https://api.directory.yandex.net/v6/users/' | grep HTTP done 

рдпрджрд┐ рдЖрдкрдХреЗ рд╕рдВрдЧрдарди рдореЗрдВ рдХрдИ рд╡рд┐рднрд╛рдЧ рд╣реИрдВ, рддреЛ рдкрдВрдХреНрддрд┐ рдореЗрдВ:

 curl -i -X POST -H 'Content-type: application/json' -d '{"department_id": 1, "password": "'$PASS'", "nickname": "'$email'", "name": {"first": "'$firstname'", "last": "'$lastname'", "middle": "'$middlename'"}}' -H "Authorization: OAuth $TOKEN" 'https://api.directory.yandex.net/v6/users/' 

рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ: "department_id": 1 , рд╣рдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, "1", рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рднрд╛рдЧ "рдЕрдкрдиреЗ рдХрд░реНрдордЪрд╛рд░реА" рд╣реИред рдПрдХ рдирдпрд╛ рд╡рд┐рднрд╛рдЧ рдмрдирд╛рддреЗ рд╕рдордп (рдирд╛рдо рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛), рдпрд╣ рдмрд╛рдж рдХреЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрд░рдорд╢рдГ "2" рд╣реЛрдЧрд╛ред

рдЕрдм рдХреИрд╕реЗ OAuth-Token рдбрд┐рдмрдЧрд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ

Yandex рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЬреЛ OAuth 2.0 рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдбреАрдмрдЧрд┐рдВрдЧ рдЯреЛрдХрди рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рдж, рдбрд┐рдмрдЧ рдЯреЛрдХрди рдХреЛ рд░рджреНрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╣рдо рдПрдХ рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП Yandex OAuth рдкреГрд╖реНрда рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ (рд╡реИрд╕реЗ, рд╣рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ!)

рдореИрдВрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛:

рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ


рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдордВрдЪ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдФрд░ "рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рди URL" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ


рд╕рднреА рдкреАрдбрд╝рд╛ рдХреЗ рдмрд╛рдж , рдЖрдк Yandex OAuth рдкрд░ рд▓реМрдЯ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрд╕рдореЗрдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рд▓рд╛рдЗрди "рдЖрдИрдбреА" рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рд╕рдВрдЦреНрдпрд╛-рдЕрдХреНрд╖рд░ рдорд╛рди рд▓реЗрдВ, рдЗрд╕реЗ рдЗрд╕ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ:

 https://oauth.yandex.ru/authorize?response_type=token&client_id=< > 

рдлрд┐рд░, рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реЗ рдкреГрд╖реНрда рдкрд░, рдкрд╣реБрдБрдЪ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╖реНрдЯрд┐ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рд╡реЙрдЗрд▓рд╛, рдпрд╣ рдЖрдкрдХрд╛ OAuth_Token рд╣реИред

рдЕрдВрдд рдореЗрдВ: рдпрджрд┐ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ (рдЬрдиреНрдо рддрд┐рдерд┐, рдЙрд╕рдХрд╛ рд▓рд┐рдВрдЧ, alliases, рдлреЛрди), рддреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ, рдЗрд╕ рдПрдк рдХреЗ рдореВрд▓ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕реБрд▓рдн рдЬрд╛рдирдХрд╛рд░реА рд╣реИред
: wq

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


All Articles