[{"data":1,"prerenderedAt":175},["ShallowReactive",2],{"navigation":3,"\u002Fauth\u002Foidc\u002Finteraction":55,"\u002Fauth\u002Foidc\u002Finteraction-surround":172},[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":20,"body":57,"description":158,"extension":167,"meta":168,"navigation":169,"path":21,"seo":170,"stem":22,"__hash__":171},"docs\u002F2.auth\u002F1.oidc\u002F1.interaction.md",{"type":58,"value":59,"toc":157},"minimark",[60,64,76,97,101,115,123,132,136,141],[61,62,9],"h2",{"id":63},"авторизация",[65,66,67,68,75],"p",{},"По умолчанию в авторизации используется поток с кодом авторизации ",[69,70,71],"em",{},[72,73,74],"span",{},"Authorization Code flow",".",[77,78,79,83,86,94],"ol",{},[80,81,82],"li",{},"Клиент переадресовывает пользователя на сервер авторизации",[80,84,85],{},"Пользователь вводит данные авторизации",[80,87,88,89,93],{},"Сервер авторизации переадресует пользователя на указанную на этапе 1 страницу клиента. В GET-параметрах передается код авторизации (",[90,91,92],"code",{},"?code=...",")",[80,95,96],{},"Клиент выполняет запрос к серверу авторизации для обмена кода авторизации на Access Token",[61,98,100],{"id":99},"верификация-токена-в-конечной-системе","Верификация токена в конечной системе",[77,102,103,106,109,112],{},[80,104,105],{},"Пользователь выполняет запрос с Access Token",[80,107,108],{},"Осуществляется проверка подписи Access Token (JWS)",[80,110,111],{},"Выполняется расшифровка токена",[80,113,114],{},"Из токена получается информация о пользователе",[61,116,118,122],{"id":117},"проверка-подписи-токена",[119,120],"a",{"name":121},"sig-check","Проверка подписи токена",[124,125,127,128,131],"alert",{"type":126},"warning","\nПроверка подписи токена подразумевает наличие на конечном сервере хранилища (кэша) ключей.",[129,130],"br",{},"\nОбновление кэша активных ключей на сервере предлагается производить не чаще одного раза в час и не реже одного раза в сутки.\n",[124,133,135],{"type":134},"danger","\nПолучение ключей с сервера авторизации при каждом запросе к конечному серверу запрещено.\n",[137,138,140],"h3",{"id":139},"предлагаемый-алгоритм-работы","Предлагаемый алгоритм работы",[77,142,143,149,154],{},[80,144,145,146,93],{},"Расшифровка первой части JWT и получение информации об идентификаторе ключа (поле ",[90,147,148],{},"kid",[80,150,151,152],{},"Проверка наличия в кэше сервера ключа с данным идентификатором ",[90,153,148],{},[80,155,156],{},"Если ключ существует, осуществляется проверка JWS с данным ключем",{"title":158,"searchDepth":159,"depth":159,"links":160},"",2,[161,162,163],{"id":63,"depth":159,"text":9},{"id":99,"depth":159,"text":100},{"id":117,"depth":159,"text":122,"children":164},[165],{"id":139,"depth":166,"text":140},3,"md",{},true,{"title":20,"description":158},"rpspDVmUuuhvL9toXHmlRumzAuTbtJ5JbND4ZPkF2Bw",[173,174],{"title":5,"path":6,"stem":7,"description":158,"children":-1},{"title":24,"path":25,"stem":26,"description":158,"children":-1},1786744261341]