Skip to content

Commit fe5efe0

Browse files
authored
Merge pull request moby#3784 from vlad-ivanov-name/fix-time-zero-check
Fix bearer token expiration check (fixes moby#3779)
2 parents 37c4dc1 + fc834f5 commit fe5efe0

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

util/resolver/authorizer.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,15 @@ func (ah *authHandler) fetchToken(ctx context.Context, sm *session.Manager, g se
356356
if resp.ExpiresIn == 0 {
357357
resp.ExpiresIn = defaultExpiration
358358
}
359-
issuedAt, expires = time.Unix(resp.IssuedAt, 0), int(resp.ExpiresIn)
359+
expires = int(resp.ExpiresIn)
360+
// We later check issuedAt.isZero, which would return
361+
// false if converted from zero Unix time. Therefore,
362+
// zero time value in response is handled separately
363+
if resp.IssuedAt == 0 {
364+
issuedAt = time.Time{}
365+
} else {
366+
issuedAt = time.Unix(resp.IssuedAt, 0)
367+
}
360368
token = resp.Token
361369
return nil, nil
362370
}

0 commit comments

Comments
 (0)