Задать вопрос
  • Почему JWT-авторизация использует два раздельных токена (access + refresh), а не один комбинированный?

    Понятие access и refresh токена идут не из JWT, а в основном от протокола авторизации OAuth2 (актуальная версия OAuth 2.1), хотя сейчас они используются и за рамками "канонического" OAuth. JWT это просто формат токена, в JWT можно хранить разные виды токенов. Если говорить про access/refresh то в виде JWT рефреши обычно вообще не хранят, иногда хранят access'ы. Но в целом JWT и OAuth2 не связаны. JWT является стандартным способом представления токена в OpenID Connect (OIDC) который основан на OAuth2, там JWT, а точнее JWS или JWE (подписаный и/или зашифрованный JWT) используется для хранения ID Token (не refresh и не access). OIDC это протокол который используют разные ID провайдеры типа Google ID, ЕСИА (Госуслуги), Microsoft, VK ID, Сбер ID и тд и тп

    Основная задача OAuth - обеспечить единую точку авторизации в среде со многими сервисами/приложениями и разными типами взаимодействий, в том числе межсервисными, и обеспечить в такой среде изолированные скопы доступа. Рефреш токен долгоживущий и отправляется только центру авторизации, аксесс токен коротко живущий и используется для доступа к конечному сервису (например какому-либо API endpoint'у). При компрометации сервиса (ендпойнта) компрометируется только access token, поэтому после устранения компрометации не требуется сбрасывать сессии.

    В интернетах чаще всего JWT используется для хранения сессионного токена, который опять же не refresh и не access. Используется JWT чтобы хранить информацию о сессии на клиенте, а не в базе, соответственно когда токен вместе с клиентским запросом прилетает от клиента - сервису не надо ходить в базу чтобы достать данные о сессии/пользователе.
    Ответ написан
    1 комментарий
  • Будет ли мне грозить что-то если я выложу в общий доступ программу, обходящую блокировки РКН?

    Ну пока формально yt не блокируют - просто не пиши, что ты обходишь блокировку.
    Если ты напишешь "вот эта программа обходит какую-то там блокировку", то тогда это нарушение - распространяешь информацию об обходе блокировок.
    Напиши, что решена проблема с устаревшим и изношенным оборудованием GGC
    Ответ написан
    Комментировать
  • Как определить свой уровень программирования?

    @Everything_is_bad
    твой уровень программирования "школьник 9го класса, изучающий полгода java"
    Ответ написан
    1 комментарий
  • Как определить свой уровень программирования?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Если твой код иногда работает, то поздравляю - ты Junior. Если понимаешь, почему не работает, то ты уже на пути в Middle'ы. А если уже ненавидишь себя за выбор пути и задумываешься о домике на берегу реки - добро пожаловать в Senior'ы
    Ответ написан
    8 комментариев