коммит произвёл
GitHub
родитель
e05edf85cf
Коммит
f94b807f39
@@ -765,14 +765,6 @@ func TestOAuthAccessToken(t *testing.T) {
|
|||||||
t.Fatal("Should have failed - code is expired")
|
t.Fatal("Should have failed - code is expired")
|
||||||
}
|
}
|
||||||
|
|
||||||
authData = &model.AuthData{ClientId: oauthApp.Id, RedirectUri: oauthApp.CallbackUrls[0], UserId: th.BasicUser.Id, Code: model.NewId(), ExpiresIn: model.AUTHCODE_EXPIRE_TIME}
|
|
||||||
<-th.App.Srv.Store.OAuth().SaveAuthData(authData)
|
|
||||||
|
|
||||||
data.Set("code", authData.Code)
|
|
||||||
if _, err := Client.GetAccessToken(data); err == nil {
|
|
||||||
t.Fatal("Should have failed - code with invalid hash comparission")
|
|
||||||
}
|
|
||||||
|
|
||||||
Client.ClearOAuthToken()
|
Client.ClearOAuthToken()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ package app
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
b64 "encoding/base64"
|
b64 "encoding/base64"
|
||||||
"fmt"
|
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net/http"
|
"net/http"
|
||||||
@@ -133,7 +132,7 @@ func (a *App) AllowOAuthAppAccessToUser(userId string, authRequest *model.Author
|
|||||||
}
|
}
|
||||||
|
|
||||||
authData := &model.AuthData{UserId: userId, ClientId: authRequest.ClientId, CreateAt: model.GetMillis(), RedirectUri: authRequest.RedirectUri, State: authRequest.State, Scope: authRequest.Scope}
|
authData := &model.AuthData{UserId: userId, ClientId: authRequest.ClientId, CreateAt: model.GetMillis(), RedirectUri: authRequest.RedirectUri, State: authRequest.State, Scope: authRequest.Scope}
|
||||||
authData.Code = utils.HashSha256(fmt.Sprintf("%v:%v:%v:%v", authRequest.ClientId, authRequest.RedirectUri, authData.CreateAt, userId))
|
authData.Code = model.NewId() + model.NewId()
|
||||||
|
|
||||||
// this saves the OAuth2 app as authorized
|
// this saves the OAuth2 app as authorized
|
||||||
authorizedApp := model.Preference{
|
authorizedApp := model.Preference{
|
||||||
@@ -191,10 +190,6 @@ func (a *App) GetOAuthAccessToken(clientId, grantType, redirectUri, code, secret
|
|||||||
return nil, model.NewAppError("GetOAuthAccessToken", "api.oauth.get_access_token.redirect_uri.app_error", nil, "", http.StatusBadRequest)
|
return nil, model.NewAppError("GetOAuthAccessToken", "api.oauth.get_access_token.redirect_uri.app_error", nil, "", http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
|
|
||||||
if code != utils.HashSha256(fmt.Sprintf("%v:%v:%v:%v", clientId, redirectUri, authData.CreateAt, authData.UserId)) {
|
|
||||||
return nil, model.NewAppError("GetOAuthAccessToken", "api.oauth.get_access_token.expired_code.app_error", nil, "", http.StatusBadRequest)
|
|
||||||
}
|
|
||||||
|
|
||||||
if result := <-a.Srv.Store.User().Get(authData.UserId); result.Err != nil {
|
if result := <-a.Srv.Store.User().Get(authData.UserId); result.Err != nil {
|
||||||
return nil, model.NewAppError("GetOAuthAccessToken", "api.oauth.get_access_token.internal_user.app_error", nil, "", http.StatusNotFound)
|
return nil, model.NewAppError("GetOAuthAccessToken", "api.oauth.get_access_token.internal_user.app_error", nil, "", http.StatusNotFound)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user