(basicRes context.BasicRes)
| 73 | } |
| 74 | |
| 75 | func OAuth2ProxyAuthentication(basicRes context.BasicRes) gin.HandlerFunc { |
| 76 | logger := basicRes.GetLogger() |
| 77 | return func(c *gin.Context) { |
| 78 | _, exist := c.Get(common.USER) |
| 79 | if !exist { |
| 80 | user, err := getOAuthUserInfo(c) |
| 81 | if err != nil { |
| 82 | logger.Error(err, "getOAuthUserInfo") |
| 83 | } |
| 84 | if user == nil || user.Name == "" { |
| 85 | // fetch with basic auth header |
| 86 | user, err = getBasicAuthUserInfo(c, basicRes) |
| 87 | if err != nil { |
| 88 | logger.Debug("getBasicAuthUserInfo") |
| 89 | } |
| 90 | } |
| 91 | if user != nil && user.Name != "" { |
| 92 | c.Set(common.USER, user) |
| 93 | } |
| 94 | } |
| 95 | c.Next() |
| 96 | } |
| 97 | } |
| 98 | |
| 99 | type apiBody struct { |
| 100 | Success bool `json:"success"` |
no test coverage detected