Hierarchical tokens.

This commit is contained in:
Juliusz Chroboczek
2025-08-01 14:56:35 +02:00
parent b88e2f4d93
commit a217b7bbc4
3 changed files with 66 additions and 18 deletions
+27
View File
@@ -72,6 +72,14 @@ func TestStatefulCheck(t *testing.T) {
Expires: &future,
NotBefore: &nearFuture,
}
token5 := &Stateful{
Token: "token",
Group: "group",
IncludeSubgroups: true,
Username: &user,
Permissions: []string{"present", "message"},
Expires: &future,
}
success := []struct {
token *Stateful
@@ -107,6 +115,20 @@ func TestStatefulCheck(t *testing.T) {
expUsername: "",
expPermissions: []string{"present", "message"},
},
{
token: token5,
group: "group",
username: &user,
expUsername: "user",
expPermissions: []string{"present", "message"},
},
{
token: token5,
group: "group/subgroup",
username: &user,
expUsername: "user",
expPermissions: []string{"present", "message"},
},
}
for i, s := range success {
@@ -139,6 +161,11 @@ func TestStatefulCheck(t *testing.T) {
group: "group",
username: &user,
},
{
token: token5,
group: "groups",
username: &user,
},
}
for i, s := range failure {