#authentication #oauth-2.0 #jwt #openid #stateless
Вопрос:
Я пишу Rest Api и SPA. Мне нужна проверка подлинности без сохранения состояния для пользователей. Вот почему я хотел бы знать, безопасно ли по-прежнему использовать только JWTS без широко используемых стандартов, таких как OpenID/Oauth2?
Ответ №1:
JWT-это формат токена. OAuth2/OIDC-это протокол, который сообщает вам, как вы должны получить маркер доступа, обновления и идентификатора. Нет требования, чтобы JWTs получались только через OAuth или чтобы поток OAuth использовал только JWT. На самом деле, очень часто токены доступа и обновления являются непрозрачными токенами, а не JWT. Также JWTS можно использовать для многих других функций (например, объектов подписанных запросов).
Это означает, что ваша система может выдавать JWTS без использования протокола, описанного в OAuth2/OIDC. Тем не менее, вы должны помнить, что стандарты создаются для того, чтобы мы могли обеспечить совместимость и защиту от общих угроз безопасности. Ваша система будет более безопасной, если вы реализуете поток OAuth2 или OIDC для получения токенов, а не будете что-то выяснять самостоятельно.