CurrentAuth.go 679 B

1234567891011121314151617181920212223242526
  1. package jwtx
  2. import "github.com/gin-gonic/gin"
  3. type Current struct {
  4. AccountID uint64 // 账户 ID
  5. LoginGroup string // 登录的分组
  6. LoginTerminal string // 登录的终端
  7. MakeTokenIP string // 首次请求生成 token 的 IP 地址
  8. }
  9. // 获取当前登录的账户信息,需配合中间件使用
  10. func CurrentAuth(c *gin.Context) Current {
  11. var accountID uint64
  12. if val, ok := c.Get("jwtx.accountID"); ok && val != nil {
  13. accountID, _ = val.(uint64)
  14. }
  15. return Current{
  16. AccountID: accountID,
  17. LoginGroup: c.GetString("jwtx.loginGroup"),
  18. LoginTerminal: c.GetString("jwtx.loginTerminal"),
  19. MakeTokenIP: c.GetString("jwtx.makeTokenIP"),
  20. }
  21. }