Skip to content

Commit

Permalink
Merge a7fa5c4 into 546ec07
Browse files Browse the repository at this point in the history
  • Loading branch information
aricart committed Feb 21, 2020
2 parents 546ec07 + a7fa5c4 commit a358ada
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 1 deletion.
2 changes: 1 addition & 1 deletion creds_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ NKEYs are sensitive and should be treated as secrets.
return w.Bytes(), nil
}

var userConfigRE = regexp.MustCompile(`\s*(?:(?:[-]{3,}[^\n]*[-]{3,}\n)(.+)(?:\n\s*[-]{3,}[^\n]*[-]{3,}\n))`)
var userConfigRE = regexp.MustCompile(`\s*(?:(?:[-]{3,}.*[-]{3,}\r?\n)([\w\-.=]+)(?:\r?\n[-]{3,}.*[-]{3,}\r?\n))`)

// An user config file looks like this:
// -----BEGIN NATS USER JWT-----
Expand Down
63 changes: 63 additions & 0 deletions creds_utils_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -209,3 +209,66 @@ func Test_DecorateNKeys(t *testing.T) {
t.Fatal("required error parsing bad nkey")
}
}

func Test_ParseCreds(t *testing.T) {
token, kp := makeJWT(t)
d, err := FormatUserConfig(token, seedKey(kp, t))
if err != nil {
t.Fatal(err)
}
pk, err := kp.PublicKey()
if err != nil {
t.Fatal(err)
}

token2, err := ParseDecoratedJWT(d)
if err != nil {
t.Fatal(err)
}
if token != token2 {
t.Fatal("expected jwts to match")
}
kp2, err := ParseDecoratedUserNKey(d)
if err != nil {
t.Fatal(err)
}
pk2, err := kp2.PublicKey()
if err != nil {
t.Fatal(err)
}
if pk != pk2 {
t.Fatal("expected keys to match")
}
}

func Test_ParseCredsWithCrLfs(t *testing.T) {
token, kp := makeJWT(t)
d, err := FormatUserConfig(token, seedKey(kp, t))
if err != nil {
t.Fatal(err)
}
pk, err := kp.PublicKey()
if err != nil {
t.Fatal(err)
}
d = bytes.ReplaceAll(d, []byte{'\n'}, []byte{'\r', '\n'})

token2, err := ParseDecoratedJWT(d)
if err != nil {
t.Fatal(err)
}
if token != token2 {
t.Fatal("expected jwts to match")
}
kp2, err := ParseDecoratedUserNKey(d)
if err != nil {
t.Fatal(err)
}
pk2, err := kp2.PublicKey()
if err != nil {
t.Fatal(err)
}
if pk != pk2 {
t.Fatal("expected keys to match")
}
}

0 comments on commit a358ada

Please sign in to comment.