Разработчики всё ещё путают JWT, JWKS, OAuth2 и OpenID Connect — разбираем на примерах. Часть 2

Мы продолжаем наше погружение в мир аутентификации и будем разбирать всё на простых примерах с практикой на Go. В первой части статьи мы разобрали, как устроен JWT, зачем нам refresh и access токены и почему в распределенных системах нам необходимо использовать асимметричные алгоритмы подписи. Теперь пришло время двигаться дальше и познакомиться с тем, что стоит поверх JWT: JWKS, OAuth 2.0, OIDC.

https://habr.com/ru/companies/ozontech/articles/987012/

#OIDC #sso #oauth2 #oauth20 #go #jwt #access_token #access_токен

Разработчики всё ещё путают JWT, JWKS, OAuth2 и OpenID Connect — разбираем на примерах. Часть 2

Мы продолжаем наше погружение в мир аутентификации и будем разбирать всё на простых примерах с практикой на Go. В первой части статьи мы поговорили о том, как устроен JWT, зачем нам refresh- и...

Хабр

Токены доступа и API Gateway: как обеспечить безопасность запросов

Распределенные системы (aka микросервисы) набрали популярность и применяются все шире в современных реалиях. Сервисов становится больше, привычные задачи для них решаются сложнее, усложнились и вопросы аутентификации и контроля доступа. В статье рассмотрим различные подходы использования API Gateway как части более общего API security-решения в контексте его работы с токенами доступа, выделяя преимущества, недостатки и связанные с ними вопросы безопасности. Также разберем, почему нужно ограничивать область действия access token и может ли API Gateway помочь и в данном вопросе. Статья написана на основе материала, с которым выступал на PHDays 2025 и CodeFest 15 .

https://habr.com/ru/articles/872918/

#аутентификация #распределенные_системы #authentication #identity_propagation #distributed_systems #токен_доступа #access_token #oauth_20 #api_gateway #access_control

Токены доступа и API Gateway: как обеспечить безопасность запросов

Распределенные системы (aka микросервисы) набрали популярность и применяются все шире в современных реалиях. Сервисов становится больше, привычные задачи для них решаются сложнее, усложнились и...

Хабр

Работа с JWT-токенами в браузере без боли и страданий

Приветствую, дорогой читатель! Хочу поделиться решением наболевшей проблемы — автоматическим обновлением access-токена при истечении его срока действия.

https://habr.com/ru/articles/931190/

#jwt #axios #refresh_token #access_token #авторизация_пользователя #interceptors #bearer_tokens #frontend_development #api

Работа с JWT-токенами в браузере без боли и страданий

Приветствую, дорогой читатель! Хочу поделиться решением наболевшей проблемы — автоматическим обновлением access-токена при истечении его срока действия. Эталонный сценарий Пользователь успешно...

Хабр
Internet Archive breached again through stolen access tokens

The Internet Archive was breached again, this time on their Zendesk email support platform after repeated warnings that threat actors stole exposed GitLab authentication tokens.

BleepingComputer

"""
there is a #python-HackMD package in PyPI... I'll try it out!

UPDATE: It didn't work for me, so I tried PyHackMD (https://github.com/GoatWang/PyHackMD) and it seems to work.
"""

from PyHackMD import API # https://github.com/GoatWang/PyHackMD

# Replace <ACCESS_TOKEN> with your actual access token
#access_token = '<ACCESS_TOKEN>'
api = API(access_token)

data = api.get_note_list()

for note_data in data:
fields = ('id', 'title', 'publishLink')
print('---')
for field in fields:
print(note_data[field], end=' ')
print()
print('---')
content = api.get_note(note_data['id'])['content']
file_name = f'{note_data["permalink"]} - {note_data["title"]}.md'.replace('/', '-')
with open(file_name, 'w', encoding='utf-8') as f:
f.write(content)

GitHub - GoatWang/PyHackMD

Contribute to GoatWang/PyHackMD development by creating an account on GitHub.

GitHub

Find your most popular tweets, so you can post here #rstats

library(rtweet)
library(tidyverse)

# see twitter API
twitter_token = create_token(
app = "blah",
consumer_key = "", #api_key
consumer_secret = "", #api_secret
access_token = "", #access_token
access_secret = "") #access_token_secret

# my best tweets
rtweet::get_timeline("sharoz", n = Inf) %>%
arrange(desc(favorite_count)) %>%
mutate(URL = paste0("https://twitter.com/a/status/", id_str)) %>%
relocate(URL) %>%
View()