| 12345678910111213141516171819202122232425262728 |
- package middleware
- import "github.com/gin-gonic/gin"
- // AuthSubject is the minimal authenticated identity stored in gin context.
- // Decision: {UserID int64, Concurrency int}
- type AuthSubject struct {
- UserID int64
- Concurrency int
- }
- func GetAuthSubjectFromContext(c *gin.Context) (AuthSubject, bool) {
- value, exists := c.Get(string(ContextKeyUser))
- if !exists {
- return AuthSubject{}, false
- }
- subject, ok := value.(AuthSubject)
- return subject, ok
- }
- func GetUserRoleFromContext(c *gin.Context) (string, bool) {
- value, exists := c.Get(string(ContextKeyUserRole))
- if !exists {
- return "", false
- }
- role, ok := value.(string)
- return role, ok
- }
|