github.com/cloudfoundry-community/cloudfoundry-cli@v6.44.1-0.20240130060226-cda5ed8e89a5+incompatible/integration/helpers/token.go (about) 1 package helpers 2 3 import ( 4 "strings" 5 "time" 6 7 "github.com/SermoDigital/jose/crypto" 8 "github.com/SermoDigital/jose/jws" 9 "github.com/SermoDigital/jose/jwt" 10 . "github.com/onsi/gomega" 11 ) 12 13 func BuildTokenString(expiration time.Time) string { 14 c := jws.Claims{} 15 c.SetExpiration(expiration) 16 c.Set("user_name", "some-user") 17 token := jws.NewJWT(c, crypto.Unsecured) 18 tokenBytes, err := token.Serialize(nil) 19 Expect(err).NotTo(HaveOccurred()) 20 return string(tokenBytes) 21 } 22 23 func ParseTokenString(token string) jwt.JWT { 24 strippedToken := strings.TrimPrefix(token, "bearer ") 25 jwt, err := jws.ParseJWT([]byte(strippedToken)) 26 Expect(err).NotTo(HaveOccurred()) 27 return jwt 28 }