Ответ
Работал с JWT (JSON Web Tokens) для stateless-аутентификации, OAuth2 (включая PKCE для SPA), Basic Auth для простых случаев.
Пример JWT:
token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
"user_id": 123,
"exp": time.Now().Add(24 * time.Hour).Unix(),
})
tokenString, _ := token.SignedString([]byte("secret"))
Для OAuth2 использовал golang.org/x/oauth2, реализовывал flow для Google/GitHub. Также знаком с ролевой моделью (RBAC) и middleware для проверки прав (например, gorilla/mux + кастомные middleware).
Популярные библиотеки:
github.com/golang-jwt/jwtgolang.org/x/oauth2github.com/coreos/go-oidc(для OpenID Connect)
Для продакшна важно: HTTPS, валидация токенов, защита от CSRF (если используются куки).