Назад к вопросам
Middle+
3
Что такое токены для авторизации, какие бывают?
Компании, где спрашивали
Магнум
Ответ от нейросети
sobes.tech AI
Токены для авторизации — это цифровые маркеры, которые подтверждают права пользователя или клиента на доступ к ресурсам. Они позволяют серверу не хранить состояние сессии, а проверять права по токену.
Основные виды токенов:
- JWT (JSON Web Token) — самодостаточный токен с зашифрованной или подписанной информацией о пользователе и правах. Часто используется в REST API.
- OAuth токены — используются в протоколе OAuth 2.0, включают access token (для доступа) и refresh token (для обновления access token).
- Session tokens — идентификаторы сессии, которые сервер хранит в памяти или базе, а клиент передаёт в cookie.
Пример использования JWT в Go:
import (
"github.com/dgrijalva/jwt-go"
"time"
)
func GenerateJWT(secret []byte) (string, error) {
claims := jwt.StandardClaims{
ExpiresAt: time.Now().Add(time.Hour).Unix(),
Issuer: "myapp",
}
token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
return token.SignedString(secret)
}