Files
sa-token-go/docs/guide/authentication.md
c 04a9e5a72f 1、init project
2、完善部分功能
2025-10-18 06:38:51 +07:00

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()