mirror of
https://github.com/click33/sa-token-go.git
synced 2025-12-24 13:48:04 +08:00
2.0 KiB
2.0 KiB
Authentication Guide
中文文档 | English
Basic Login
Simple Login
// Login user (supports multiple types)
token, err := stputil.Login(1000) // int
token, err := stputil.Login("user123") // string
token, err := stputil.Login(int64(1000)) // int64
Multi-Device Login
// Specify device type
token, _ := stputil.Login(1000, "web")
token, _ := stputil.Login(1000, "mobile")
token, _ := stputil.Login(1000, "app")
Check Login Status
// Check if logged in
isLogin := stputil.IsLogin(token)
// Check login (throws error if not logged in)
err := stputil.CheckLogin(token)
// Get login ID
loginID, err := stputil.GetLoginID(token)
Logout
// Logout by login ID
stputil.Logout(1000)
// Logout by login ID and device
stputil.Logout(1000, "mobile")
// Logout by token
stputil.LogoutByToken(token)
Kickout
// Kickout user
stputil.Kickout(1000)
// Kickout specific device
stputil.Kickout(1000, "mobile")
Token Management
Get Token Value
// Get token by login ID
token, err := stputil.GetTokenValue(1000)
// Get token by login ID and device
token, err := stputil.GetTokenValue(1000, "mobile")
Get Token Info
// Get token information
info, err := stputil.GetTokenInfo(token)
fmt.Println("Login ID:", info.LoginID)
fmt.Println("Device:", info.Device)
fmt.Println("Create Time:", info.CreateTime)
Login Configuration
Concurrent Login
// Allow concurrent login (default: true)
core.NewBuilder().
IsConcurrent(true).
Build()
Share Token
// Share token for concurrent logins (default: true)
core.NewBuilder().
IsShare(true).
Build()
Max Login Count
// Maximum concurrent logins
core.NewBuilder().
IsConcurrent(true).
IsShare(false).
MaxLoginCount(5). // Max 5 devices
Build()