Fix recovery middleware to render gitea style page. (#13857)
* Some changes to fix recovery * Move Recovery to middlewares * Remove trace code * Fix lint * add session middleware and remove dependent on macaron for sso * Fix panic 500 page rendering * Fix bugs * Fix fmt * Fix vendor * recover unnecessary change * Fix lint and addd some comments about the copied codes. * Use util.StatDir instead of com.StatDir Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
parent
126c9331d6
commit
15a475b7db
75 changed files with 5233 additions and 307 deletions
|
@ -6,6 +6,7 @@
|
|||
package sso
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"code.gitea.io/gitea/models"
|
||||
|
@ -13,9 +14,6 @@ import (
|
|||
"code.gitea.io/gitea/modules/log"
|
||||
"code.gitea.io/gitea/modules/setting"
|
||||
"code.gitea.io/gitea/modules/timeutil"
|
||||
|
||||
"gitea.com/macaron/macaron"
|
||||
"gitea.com/macaron/session"
|
||||
)
|
||||
|
||||
// Ensure the struct implements the interface.
|
||||
|
@ -49,8 +47,8 @@ func (b *Basic) IsEnabled() bool {
|
|||
// "Authorization" header of the request and returns the corresponding user object for that
|
||||
// name/token on successful validation.
|
||||
// Returns nil if header is empty or validation fails.
|
||||
func (b *Basic) VerifyAuthData(ctx *macaron.Context, sess session.Store) *models.User {
|
||||
baHead := ctx.Req.Header.Get("Authorization")
|
||||
func (b *Basic) VerifyAuthData(req *http.Request, store DataStore, sess SessionStore) *models.User {
|
||||
baHead := req.Header.Get("Authorization")
|
||||
if len(baHead) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
@ -75,7 +73,7 @@ func (b *Basic) VerifyAuthData(ctx *macaron.Context, sess session.Store) *models
|
|||
uid := CheckOAuthAccessToken(authToken)
|
||||
if uid != 0 {
|
||||
var err error
|
||||
ctx.Data["IsApiToken"] = true
|
||||
store.GetData()["IsApiToken"] = true
|
||||
|
||||
u, err = models.GetUserByID(uid)
|
||||
if err != nil {
|
||||
|
@ -108,7 +106,7 @@ func (b *Basic) VerifyAuthData(ctx *macaron.Context, sess session.Store) *models
|
|||
return nil
|
||||
}
|
||||
} else {
|
||||
ctx.Data["IsApiToken"] = true
|
||||
store.GetData()["IsApiToken"] = true
|
||||
}
|
||||
|
||||
return u
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue