mirror of
https://github.com/go-gitea/gitea.git
synced 2025-07-21 12:55:23 +02:00
Support most github's sdk
This commit is contained in:
parent
2ecb59c092
commit
45afa0ee9f
@ -111,7 +111,8 @@ func (b *Basic) Verify(req *http.Request, w http.ResponseWriter, store DataStore
|
|||||||
|
|
||||||
// check task token
|
// check task token
|
||||||
task, err := bots_model.GetTaskByToken(db.DefaultContext, authToken)
|
task, err := bots_model.GetTaskByToken(db.DefaultContext, authToken)
|
||||||
if err == nil && task != nil && task.Status.IsRunning() {
|
if err == nil && task != nil {
|
||||||
|
if task.Status.IsRunning() {
|
||||||
log.Trace("Basic Authorization: Valid AccessToken for task[%d]", task.ID)
|
log.Trace("Basic Authorization: Valid AccessToken for task[%d]", task.ID)
|
||||||
|
|
||||||
store.GetData()["IsBotToken"] = true
|
store.GetData()["IsBotToken"] = true
|
||||||
@ -119,6 +120,8 @@ func (b *Basic) Verify(req *http.Request, w http.ResponseWriter, store DataStore
|
|||||||
|
|
||||||
return user_model.NewBotUser()
|
return user_model.NewBotUser()
|
||||||
}
|
}
|
||||||
|
log.Warn("task %v status is %v but auth request sent: %v", task.ID, task.Status, req.RemoteAddr)
|
||||||
|
}
|
||||||
|
|
||||||
if !setting.Service.EnableBasicAuth {
|
if !setting.Service.EnableBasicAuth {
|
||||||
return nil
|
return nil
|
||||||
|
@ -11,6 +11,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
auth_model "code.gitea.io/gitea/models/auth"
|
auth_model "code.gitea.io/gitea/models/auth"
|
||||||
|
bots_model "code.gitea.io/gitea/models/bots"
|
||||||
"code.gitea.io/gitea/models/db"
|
"code.gitea.io/gitea/models/db"
|
||||||
user_model "code.gitea.io/gitea/models/user"
|
user_model "code.gitea.io/gitea/models/user"
|
||||||
"code.gitea.io/gitea/modules/log"
|
"code.gitea.io/gitea/modules/log"
|
||||||
@ -92,7 +93,21 @@ func (o *OAuth2) userIDFromToken(req *http.Request, store DataStore) int64 {
|
|||||||
}
|
}
|
||||||
t, err := auth_model.GetAccessTokenBySHA(tokenSHA)
|
t, err := auth_model.GetAccessTokenBySHA(tokenSHA)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !auth_model.IsErrAccessTokenNotExist(err) && !auth_model.IsErrAccessTokenEmpty(err) {
|
if auth_model.IsErrAccessTokenNotExist(err) {
|
||||||
|
// check task token
|
||||||
|
task, err := bots_model.GetTaskByToken(db.DefaultContext, tokenSHA)
|
||||||
|
if err == nil && task != nil {
|
||||||
|
if task.Status.IsRunning() {
|
||||||
|
log.Trace("Basic Authorization: Valid AccessToken for task[%d]", task.ID)
|
||||||
|
|
||||||
|
store.GetData()["IsBotToken"] = true
|
||||||
|
store.GetData()["BotTaskID"] = task.ID
|
||||||
|
|
||||||
|
return user_model.BotUserID
|
||||||
|
}
|
||||||
|
log.Warn("task %v status is %v but auth request sent: %v", task.ID, task.Status, req.RemoteAddr)
|
||||||
|
}
|
||||||
|
} else if !auth_model.IsErrAccessTokenNotExist(err) && !auth_model.IsErrAccessTokenEmpty(err) {
|
||||||
log.Error("GetAccessTokenBySHA: %v", err)
|
log.Error("GetAccessTokenBySHA: %v", err)
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
@ -119,12 +134,12 @@ func (o *OAuth2) Verify(req *http.Request, w http.ResponseWriter, store DataStor
|
|||||||
}
|
}
|
||||||
|
|
||||||
id := o.userIDFromToken(req, store)
|
id := o.userIDFromToken(req, store)
|
||||||
if id <= 0 {
|
if id == -1 || id <= -3 { // -2 means bots, so we need to allow it.
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
log.Trace("OAuth2 Authorization: Found token for user[%d]", id)
|
log.Trace("OAuth2 Authorization: Found token for user[%d]", id)
|
||||||
|
|
||||||
user, err := user_model.GetUserByID(id)
|
user, err := user_model.GetPossbileUserByID(req.Context(), id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !user_model.IsErrUserNotExist(err) {
|
if !user_model.IsErrUserNotExist(err) {
|
||||||
log.Error("GetUserByName: %v", err)
|
log.Error("GetUserByName: %v", err)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user