[{"data":1,"prerenderedAt":169},["ShallowReactive",2],{"navigation":3,"\u002Fauth\u002Fservices\u002Finteraction":55,"\u002Fauth\u002Fservices\u002Finteraction-surround":166},[4,8,38],{"title":5,"path":6,"stem":7},"Общая информация","\u002F","1.index",{"title":9,"icon":10,"path":11,"stem":12,"children":13,"page":10},"Авторизация",false,"\u002Fauth","2.auth",[14,27],{"title":15,"icon":10,"path":16,"stem":17,"children":18,"page":10},"Авторизация пользователя","\u002Fauth\u002Foidc","2.auth\u002F1.oidc",[19,23],{"title":20,"path":21,"stem":22},"Описание взаимодействия","\u002Fauth\u002Foidc\u002Finteraction","2.auth\u002F1.oidc\u002F1.interaction",{"title":24,"path":25,"stem":26},"Описание запросов","\u002Fauth\u002Foidc\u002Frequests","2.auth\u002F1.oidc\u002F2.requests",{"title":28,"icon":10,"path":29,"stem":30,"children":31,"page":10},"Авторизация сервисов","\u002Fauth\u002Fservices","2.auth\u002F2.services",[32,35],{"title":5,"path":33,"stem":34},"\u002Fauth\u002Fservices\u002Finteraction","2.auth\u002F2.services\u002F1.interaction",{"title":24,"path":36,"stem":37},"\u002Fauth\u002Fservices\u002Frequests","2.auth\u002F2.services\u002F2.requests",{"title":39,"icon":10,"path":40,"stem":41,"children":42,"page":10},"Данные пользователя","\u002Fscopes","3.scopes",[43,47,51],{"title":44,"path":45,"stem":46},"Профиль","\u002Fscopes\u002Fprofile","3.scopes\u002F1.profile",{"title":48,"path":49,"stem":50},"Обучение","\u002Fscopes\u002Fedu","3.scopes\u002F2.edu",{"title":52,"path":53,"stem":54},"Работа","\u002Fscopes\u002Fwork","3.scopes\u002F3.work",{"id":56,"title":5,"body":57,"description":152,"extension":161,"meta":162,"navigation":163,"path":33,"seo":164,"stem":34,"__hash__":165},"docs\u002F2.auth\u002F2.services\u002F1.interaction.md",{"type":58,"value":59,"toc":151},"minimark",[60,65,69,74,85,89,105,113,117,124,128,133],[61,62,64],"h2",{"id":63},"описание","Описание",[66,67,68],"p",{},"Для организации межсервисного взаимодействия через приватные интерфейсы API вместо обычного пользователя используется сущность сервисного аккаунта (фиктивный пользователь связанный с клиентом).\nУ сервисного аккаунта нет никаких данных\u002Fатрибутов, которые могут быть у обычного пользователя.",[70,71,73],"alert",{"type":72},"warning","\nИспользование сервисного аккаунта возможно только при работе со специально подготовленными эндпоинтами. \nПодробную информацию узнавайте у разработчиков конечного сервиса.\n",[66,75,76,77,84],{},"По умолчанию в авторизации используется поток с данными клиента ",[78,79,80],"em",{},[81,82,83],"span",{},"Client Credentials",".",[61,86,88],{"id":87},"верификация-токена-в-конечной-системе","Верификация токена в конечной системе",[90,91,92,96,99,102],"ol",{},[93,94,95],"li",{},"Сервис выполняет запрос с Access Token",[93,97,98],{},"Осуществляется проверка подписи Access Token (JWS)",[93,100,101],{},"Выполняется расшифровка токена",[93,103,104],{},"Из токена получается информация о сервисе и доступных ролях",[61,106,108,112],{"id":107},"проверка-подписи-токена",[109,110],"a",{"name":111},"sig-check","Проверка подписи токена",[70,114,116],{"type":115},"info","\nМеханизм проверки подписи токенов аналогичен механизму, используемому при авторизации пользователей.\n",[70,118,119,120,123],{"type":72},"\nПроверка подписи токена подразумевает наличие на конечном сервере хранилища (кэша) ключей.",[121,122],"br",{},"\nОбновление кэша активных ключей на сервере предлагается производить не чаще одного раза в час и не реже одного раза в сутки.\n",[70,125,127],{"type":126},"danger","\nПолучение ключей с сервера авторизации при каждом запросе к конечному серверу запрещено.\n",[129,130,132],"h3",{"id":131},"предлагаемый-алгоритм-работы","Предлагаемый алгоритм работы",[90,134,135,143,148],{},[93,136,137,138,142],{},"Расшифровка первой части JWT и получение информации об идентификаторе ключа (поле ",[139,140,141],"code",{},"kid",")",[93,144,145,146],{},"Проверка наличия в кэше сервера ключа с данным идентификатором ",[139,147,141],{},[93,149,150],{},"Если ключ существует, осуществляется проверка JWS с данным ключем",{"title":152,"searchDepth":153,"depth":153,"links":154},"",2,[155,156,157],{"id":63,"depth":153,"text":64},{"id":87,"depth":153,"text":88},{"id":107,"depth":153,"text":112,"children":158},[159],{"id":131,"depth":160,"text":132},3,"md",{},true,{"title":5,"description":152},"i0FU9Lp2cTj9px3wpUOwz67aickpuEEb4fndDCYOj9A",[167,168],{"title":24,"path":25,"stem":26,"description":152,"children":-1},{"title":24,"path":36,"stem":37,"description":152,"children":-1},1786744261385]