Junior — Middle
Жобаларыңызда қандай авторизация әдістерін қолдандыңыз?
sobes.tech AI
AI-дан жауап
Go жобаларында мен бірнеше авторизация әдістерін қолдандым:
- JWT (JSON Web Tokens) — сессиясыз авторизацияның танымал тәсілі, мұнда клиент логин жасағаннан кейін токен алады және оны сұраулардың тақырыптарында жібереді.
- Basic Auth — логин мен құпия сөзді HTTP тақырыбында жіберу арқылы жүзеге асатын қарапайым әдіс, ішкі немесе қарапайым сервистер үшін қолайлы.
- OAuth 2.0 — сыртқы авторизация провайдерлерімен (Google, Facebook және т.б.) интеграциялау үшін, жиі кітапханалар арқылы жүзеге асырылады.
Go-да github.com/dgrijalva/jwt-go кітапханасымен JWT қолданудың мысалы:
import (
"github.com/dgrijalva/jwt-go"
"time"
)
func GenerateJWT(secret []byte, userID string) (string, error) {
token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
"user_id": userID,
"exp": time.Now().Add(time.Hour * 72).Unix(),
})
return token.SignedString(secret)
}
Таңдау әдісі қауіпсіздік талаптары мен қолданбаның архитектурасына байланысты.