Комментарии 9
oAuth2 решили доработать - Refresh token протухает после каждого запроса.
На самом деле конечно не все так печально. Нужно просто еще сделать механизм сохранения Refresh token после каждого запроса - накладно, зато супер-безопасно.
Не помню что там в стандарте, но разве так не было всегда?
Нет. По одному Refresh token вы получаете Access token-ы и только у них есть время жизни.
Правка - действительно при обновлении access token'a обновляются ОБА (refresh и access) токена. Хорошая ссылка по реализации OAuth2: https://gist.github.com/zmts/802dc9c3510d79fd40f9dc38a12bccfc
Я тоже не так давно возился с интеграцией и меня смутил один момент: для обмена кода на токены нужно отправить в теле ключ и секретный ключ приложения на домен, который пришел в GET параметре. Т.е. я просто пишу логер запросов на своей стороне и передаю свой домен в строке гет с выдуманным кодом и ко мне прилетят все ключи приложения.
ключ и секретный ключ приложения нужны только для refresh roken
все остальное- это уже извращенная реализация
более того при обмене кода (который получаете при установке) на токен, вы также отправляете и client_id и client_secret, т.е. теоретически если сделать какой-нибудь MitM, то по сути все секретики у тебя будут, чтобы перехватить управление данными от интеграции.
аналогично и при запросе свежего access_token мы передаем client_id, client_secret и refresh_token
логичнее было бы передавать какой-нибудь хеш от refresh_token+cleint_secret, который на своей стороне амо могла также воспроизвести и сравнить воспроизведенный с полученным.
amo = 1c = извращения на ровном месте
механизм не так плох, единственно, что напрягает, что с машины разработчика пока реализуешь нужную функциональность по десять раз потребуется получать свежий access_token
с одной стороны его таки не сложно получить, но все же нужна какая никакая инфраструктура, т.е. сервер, который примет код, и ты его поменяешь на токен
чтобы меньше заморачиваться на это и каждый раз не объяснять тем, кто у нас недавно начал заниматься виджетами под амо, с коллегой записали видео https://www.youtube.com/watch?v=CxQcB5AsyHI может кому сделает жизнь проще и съэкономит время на разборки с пониманием амо
Интеграция с amoCRM — паранойя безопасности