#refresh_token — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #refresh_token, aggregated by home.social.
-
Переписал CRest от Битрикса с нуля: гонки токенов, даунтаймы и мультипортальность, которых нет в стоке
У Битрикса есть официальная обёртка для REST API — класс CRest, который лежит в каждом примере приложения и который все копируют к себе в проект. Он умещается в один файл и работает — ровно до того момента, пока приложение не выходит в реальную эксплуатацию с несколькими порталами и фоновыми воркерами. Один баг стокового CRest однажды стоил мне шести суток простоя приложения, и причина была в одной строке: file_put_contents без блокировки. При обрыве записи settings.json оставался обрезанным, парсинг JSON падал, и приложение считало себя неустановленным — переставало отвечать на события и затирало валидные токены. Я переписал CRest с нуля под то, как приложения Bitrix24 работают на самом деле: — атомарная запись через rename() вместо file_put_contents — читатель видит либо старый файл целиком, либо новый, обрезка невозможна физически; — гонкоустойчивый refresh: одноразовый refresh_token больше не сжигается дважды, когда два воркера одновременно ловят протухший токен; — ключ портала — member_id, а не домен, поэтому переезд портала на другой домен больше не теряет токены; — drop-in совместимость со стоковым CRest: меняется одна строка use, весь остальной код остаётся как есть. Ноль зависимостей, PHP 8.1, работает на любом шареде и коробке — в отличие от официального b24phpsdk с его symfony-стеком. Разбираю каждую граблю с кодом, показываю, чем это чинится, и честно очерчиваю нишу: типизированные обёртки по методам API — territory официального SDK, у меня их осознанно нет. Исходный код открыт.
https://habr.com/ru/articles/1061694/
#Bitrix24 #CRest #PHP #SDK #OAuth #REST_API #мультитенантность #refresh_token #атомарная_запись #Битрикс24
-
Переписал CRest от Битрикса с нуля: гонки токенов, даунтаймы и мультипортальность, которых нет в стоке
У Битрикса есть официальная обёртка для REST API — класс CRest, который лежит в каждом примере приложения и который все копируют к себе в проект. Он умещается в один файл и работает — ровно до того момента, пока приложение не выходит в реальную эксплуатацию с несколькими порталами и фоновыми воркерами. Один баг стокового CRest однажды стоил мне шести суток простоя приложения, и причина была в одной строке: file_put_contents без блокировки. При обрыве записи settings.json оставался обрезанным, парсинг JSON падал, и приложение считало себя неустановленным — переставало отвечать на события и затирало валидные токены. Я переписал CRest с нуля под то, как приложения Bitrix24 работают на самом деле: — атомарная запись через rename() вместо file_put_contents — читатель видит либо старый файл целиком, либо новый, обрезка невозможна физически; — гонкоустойчивый refresh: одноразовый refresh_token больше не сжигается дважды, когда два воркера одновременно ловят протухший токен; — ключ портала — member_id, а не домен, поэтому переезд портала на другой домен больше не теряет токены; — drop-in совместимость со стоковым CRest: меняется одна строка use, весь остальной код остаётся как есть. Ноль зависимостей, PHP 8.1, работает на любом шареде и коробке — в отличие от официального b24phpsdk с его symfony-стеком. Разбираю каждую граблю с кодом, показываю, чем это чинится, и честно очерчиваю нишу: типизированные обёртки по методам API — territory официального SDK, у меня их осознанно нет. Исходный код открыт.
https://habr.com/ru/articles/1061694/
#Bitrix24 #CRest #PHP #SDK #OAuth #REST_API #мультитенантность #refresh_token #атомарная_запись #Битрикс24
-
Переписал CRest от Битрикса с нуля: гонки токенов, даунтаймы и мультипортальность, которых нет в стоке
У Битрикса есть официальная обёртка для REST API — класс CRest, который лежит в каждом примере приложения и который все копируют к себе в проект. Он умещается в один файл и работает — ровно до того момента, пока приложение не выходит в реальную эксплуатацию с несколькими порталами и фоновыми воркерами. Один баг стокового CRest однажды стоил мне шести суток простоя приложения, и причина была в одной строке: file_put_contents без блокировки. При обрыве записи settings.json оставался обрезанным, парсинг JSON падал, и приложение считало себя неустановленным — переставало отвечать на события и затирало валидные токены. Я переписал CRest с нуля под то, как приложения Bitrix24 работают на самом деле: — атомарная запись через rename() вместо file_put_contents — читатель видит либо старый файл целиком, либо новый, обрезка невозможна физически; — гонкоустойчивый refresh: одноразовый refresh_token больше не сжигается дважды, когда два воркера одновременно ловят протухший токен; — ключ портала — member_id, а не домен, поэтому переезд портала на другой домен больше не теряет токены; — drop-in совместимость со стоковым CRest: меняется одна строка use, весь остальной код остаётся как есть. Ноль зависимостей, PHP 8.1, работает на любом шареде и коробке — в отличие от официального b24phpsdk с его symfony-стеком. Разбираю каждую граблю с кодом, показываю, чем это чинится, и честно очерчиваю нишу: типизированные обёртки по методам API — territory официального SDK, у меня их осознанно нет. Исходный код открыт.
https://habr.com/ru/articles/1061694/
#Bitrix24 #CRest #PHP #SDK #OAuth #REST_API #мультитенантность #refresh_token #атомарная_запись #Битрикс24
-
Разработчики всё ещё путают JWT, JWKS, OAuth2 и OpenID Connect — разбираем на примерах. Часть 1
JWT, SSO, OAuth, OpenID Connect — названия знакомые каждому разработчику. Но стоит спросить: «Зачем в продакшене нужен JWKS?» или «Чем отличается OAuth2 от OpenID Connect?» — уверенность сразу исчезает. В этой статье мы разберём как устроен JWT и его подпись, зачем нужны access и refresh токены, что такое JWKS и в чём отличие OAuth от OpenID Connect. Вместо скучных стандартов и спецификаций протоколов в статье будет один наглядный образ на примере отелей и пропусков. Это позволит не только запомнить, но и прочувствовать на реальных примерах, избавиться от хаоса и путаницы в голове, когда речь заходит об аутентификации и авторизации. Цель статьи — не дать «рецепт внедрения», а дать возможность понять, как это работает внутри и «пощупать» эти темы на Go .
https://habr.com/ru/companies/ozontech/articles/976950/
#JWT #go #golang #jwt_authentication #refresh_token #refreshтокены
-
Разработчики всё ещё путают JWT, JWKS, OAuth2 и OpenID Connect — разбираем на примерах. Часть 1
JWT, SSO, OAuth, OpenID Connect — названия знакомые каждому разработчику. Но стоит спросить: «Зачем в продакшене нужен JWKS?» или «Чем отличается OAuth2 от OpenID Connect?» — уверенность сразу исчезает. В этой статье мы разберём как устроен JWT и его подпись, зачем нужны access и refresh токены, что такое JWKS и в чём отличие OAuth от OpenID Connect. Вместо скучных стандартов и спецификаций протоколов в статье будет один наглядный образ на примере отелей и пропусков. Это позволит не только запомнить, но и прочувствовать на реальных примерах, избавиться от хаоса и путаницы в голове, когда речь заходит об аутентификации и авторизации. Цель статьи — не дать «рецепт внедрения», а дать возможность понять, как это работает внутри и «пощупать» эти темы на Go .
https://habr.com/ru/companies/ozontech/articles/976950/
#JWT #go #golang #jwt_authentication #refresh_token #refreshтокены
-
Разработчики всё ещё путают JWT, JWKS, OAuth2 и OpenID Connect — разбираем на примерах. Часть 1
JWT, SSO, OAuth, OpenID Connect — названия знакомые каждому разработчику. Но стоит спросить: «Зачем в продакшене нужен JWKS?» или «Чем отличается OAuth2 от OpenID Connect?» — уверенность сразу исчезает. В этой статье мы разберём как устроен JWT и его подпись, зачем нужны access и refresh токены, что такое JWKS и в чём отличие OAuth от OpenID Connect. Вместо скучных стандартов и спецификаций протоколов в статье будет один наглядный образ на примере отелей и пропусков. Это позволит не только запомнить, но и прочувствовать на реальных примерах, избавиться от хаоса и путаницы в голове, когда речь заходит об аутентификации и авторизации. Цель статьи — не дать «рецепт внедрения», а дать возможность понять, как это работает внутри и «пощупать» эти темы на Go .
https://habr.com/ru/companies/ozontech/articles/976950/
#JWT #go #golang #jwt_authentication #refresh_token #refreshтокены
-
Работа с JWT-токенами в браузере без боли и страданий
Приветствую, дорогой читатель! Хочу поделиться решением наболевшей проблемы — автоматическим обновлением access-токена при истечении его срока действия.
https://habr.com/ru/articles/931190/
#jwt #axios #refresh_token #access_token #авторизация_пользователя #interceptors #bearer_tokens #frontend_development #api
-
Работа с JWT-токенами в браузере без боли и страданий
Приветствую, дорогой читатель! Хочу поделиться решением наболевшей проблемы — автоматическим обновлением access-токена при истечении его срока действия.
https://habr.com/ru/articles/931190/
#jwt #axios #refresh_token #access_token #авторизация_пользователя #interceptors #bearer_tokens #frontend_development #api
-
Работа с JWT-токенами в браузере без боли и страданий
Приветствую, дорогой читатель! Хочу поделиться решением наболевшей проблемы — автоматическим обновлением access-токена при истечении его срока действия.
https://habr.com/ru/articles/931190/
#jwt #axios #refresh_token #access_token #авторизация_пользователя #interceptors #bearer_tokens #frontend_development #api
-
[Перевод] Spring Security: разберём по полочкам токены, фильтры и авторизацию (с диаграммами!)
Команда Spring АйО перевела статью, в которой подробно рассматривается процесс регистрации и аутентификации пользователей с использованием Spring Security.
https://habr.com/ru/companies/spring_aio/articles/879704/
#java #kotlin #spring #spring_security #axios #token #refresh_token #flow_diagram
-
[Перевод] Spring Security: разберём по полочкам токены, фильтры и авторизацию (с диаграммами!)
Команда Spring АйО перевела статью, в которой подробно рассматривается процесс регистрации и аутентификации пользователей с использованием Spring Security.
https://habr.com/ru/companies/spring_aio/articles/879704/
#java #kotlin #spring #spring_security #axios #token #refresh_token #flow_diagram
-
[Перевод] Spring Security: разберём по полочкам токены, фильтры и авторизацию (с диаграммами!)
Команда Spring АйО перевела статью, в которой подробно рассматривается процесс регистрации и аутентификации пользователей с использованием Spring Security.
https://habr.com/ru/companies/spring_aio/articles/879704/
#java #kotlin #spring #spring_security #axios #token #refresh_token #flow_diagram