github.com/covergates/covergates@v0.2.2-0.20201009050117-42ef8a19fb95/routers/api/request/login.go (about)

     1  //+build !debug
     2  
     3  package request
     4  
     5  import (
     6  	"github.com/covergates/covergates/core"
     7  	"github.com/gin-gonic/gin"
     8  )
     9  
    10  // CheckLogin session
    11  func CheckLogin(session core.Session, oauth core.OAuthService) gin.HandlerFunc {
    12  	return func(c *gin.Context) {
    13  		user, err := oauth.Validate(c.Request)
    14  		if err == nil && user != nil && user.Login != "" {
    15  			WithUser(c, user)
    16  			return
    17  		}
    18  		user = session.GetUser(c)
    19  		if user.Login == "" {
    20  			c.String(401, "Unauthorized")
    21  			c.Abort()
    22  			return
    23  		}
    24  		WithUser(c, user)
    25  	}
    26  }