@@ -229,22 +229,18 @@ func computeRotatingTokenName(d getter) (string, error) {
229229func computeRotatingTokenExpiresAt (d getter ) (* time.Time , error ) {
230230 rotateAfter , err := getRotatingTokenRotateAfter (d )
231231 if err != nil {
232- return nil , fmt .Errorf ("%w: error parsing 'rotate_after': %w" , errComputingTokenField ( "expires_at" ) , err )
232+ return nil , fmt .Errorf ("error parsing 'rotate_after' while computing 'expires_at' : %w" , err )
233233 }
234234
235235 postRotationLifetime , err := getRotatingTokenPostRotationLifetime (d )
236236 if err != nil {
237- return nil , fmt .Errorf ("%w: error parsing 'post_rotation_lifetime': %w" , errComputingTokenField ( "expires_at" ) , err )
237+ return nil , fmt .Errorf ("error parsing 'post_rotation_lifetime' while computing 'expires_at' : %w" , err )
238238 }
239239
240240 expiresAt := rotateAfter .Add (* postRotationLifetime )
241241 return & expiresAt , nil
242242}
243243
244- func errComputingTokenField (field string ) error {
245- return fmt .Errorf ("error computing token's %s" , field )
246- }
247-
248244type rotatingTokenNameAttributes struct {
249245 namePrefix string
250246 postRotationLifetime string
@@ -258,24 +254,27 @@ func (r rotatingTokenNameAttributes) computedName() string {
258254func rotatingTokenAttributesFromName (name string ) (* rotatingTokenNameAttributes , error ) {
259255 parts := strings .Split (name , "-" )
260256 if len (parts ) < 3 {
261- return nil , fmt .Errorf ("rotating token name does not follow the expected pattern: %s" , name )
257+ return nil , fmt .Errorf ("rotating token name does not follow the expected pattern '<name_prefix>-<rotate_after>-<post_rotation_lifetime>' : %s" , name )
262258 }
263259
264260 // rotateAfter
265261 rotateAfterStr := parts [len (parts )- 2 ]
266262 rotateAfter , err := strconv .ParseInt (rotateAfterStr , 10 , 64 )
267263 if err != nil || rotateAfter <= 0 {
268- return nil , fmt .Errorf ("error parsing rotate_after timestamp from rotating token name: %w" , err )
264+ return nil , fmt .Errorf ("could not infer 'rotate_after' from rotating token name: %w" , err )
269265 }
270266
271267 // postRotationLifetime
272268 postRotationLifetime := parts [len (parts )- 1 ]
273- if _ , err : = time .ParseDuration (postRotationLifetime ); err != nil {
274- return nil , fmt .Errorf ("error parsing post_rotation_lifetime duration from rotating token name: %w" , err )
269+ if _ , err = time .ParseDuration (postRotationLifetime ); err != nil {
270+ return nil , fmt .Errorf ("could not infer 'post_rotation_lifetime' from rotating token name: %w" , err )
275271 }
276272
277273 // namePrefix
278274 namePrefix := strings .Join (parts [:len (parts )- 2 ], "-" )
275+ if namePrefix == "" {
276+ return nil , errors .New ("could not infer 'name_prefix' from rotating token name" )
277+ }
279278
280279 return & rotatingTokenNameAttributes {
281280 namePrefix : namePrefix ,
0 commit comments