mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-03 21:08:25 +00:00 
			
		
		
		
	@@ -280,6 +280,18 @@ func (err ErrAccessTokenNotExist) Error() string {
 | 
			
		||||
	return fmt.Sprintf("access token does not exist [sha: %s]", err.SHA)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ErrAccessTokenEmpty struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IsErrAccessTokenEmpty(err error) bool {
 | 
			
		||||
	_, ok := err.(ErrAccessTokenEmpty)
 | 
			
		||||
	return ok
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (err ErrAccessTokenEmpty) Error() string {
 | 
			
		||||
	return fmt.Sprintf("access token is empty")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ________                            .__                __  .__
 | 
			
		||||
// \_____  \_______  _________    ____ |__|____________ _/  |_|__| ____   ____
 | 
			
		||||
//  /   |   \_  __ \/ ___\__  \  /    \|  \___   /\__  \\   __\  |/  _ \ /    \
 | 
			
		||||
 
 | 
			
		||||
@@ -56,6 +56,9 @@ func NewAccessToken(t *AccessToken) error {
 | 
			
		||||
 | 
			
		||||
// GetAccessTokenBySHA returns access token by given sha1.
 | 
			
		||||
func GetAccessTokenBySHA(sha string) (*AccessToken, error) {
 | 
			
		||||
	if sha == "" {
 | 
			
		||||
		return nil, ErrAccessTokenEmpty{}
 | 
			
		||||
	}
 | 
			
		||||
	t := &AccessToken{Sha1: sha}
 | 
			
		||||
	has, err := x.Get(t)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
 
 | 
			
		||||
@@ -49,7 +49,7 @@ func SignedInID(ctx *macaron.Context, sess session.Store) int64 {
 | 
			
		||||
		if len(tokenSHA) > 0 {
 | 
			
		||||
			t, err := models.GetAccessTokenBySHA(tokenSHA)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				if models.IsErrAccessTokenNotExist(err) {
 | 
			
		||||
				if models.IsErrAccessTokenNotExist(err) || models.IsErrAccessTokenEmpty(err) {
 | 
			
		||||
					log.Error(4, "GetAccessTokenBySHA: %v", err)
 | 
			
		||||
				}
 | 
			
		||||
				return 0
 | 
			
		||||
 
 | 
			
		||||
@@ -112,7 +112,7 @@ func HTTP(ctx *context.Context) {
 | 
			
		||||
			// Assume username now is a token.
 | 
			
		||||
			token, err := models.GetAccessTokenBySHA(authUsername)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				if models.IsErrAccessTokenNotExist(err) {
 | 
			
		||||
				if models.IsErrAccessTokenNotExist(err) || models.IsErrAccessTokenEmpty(err) {
 | 
			
		||||
					ctx.HandleText(http.StatusUnauthorized, "invalid token")
 | 
			
		||||
				} else {
 | 
			
		||||
					ctx.Handle(http.StatusInternalServerError, "GetAccessTokenBySha", err)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user