

b34a2bdb22
cmd/tsidp: add groups claim to tsidp (#15127)
* cmd/tsidp: add groups claim to tsidp
This feature adds support for a `groups` claim in tsidp using the grants
syntax:
```json
{
"grants": [
{
"src": ["group:admins"],
"dst": ["*"],
"ip": ["*"],
"app": {
"tailscale.com/cap/tsidp": [
{
"groups": ["admin"]
}
]
}
},
{
"src": ["group:reader"],
"dst": ["*"],
"ip": ["*"],
"app": {
"tailscale.com/cap/tsidp": [
{
"groups": ["reader"]
}
]
}
}
]
}
```
For #10263
Signed-off-by: Cedric Kienzler <github@cedric-kienzler.de>
* cmd/tsidp: refactor cap/tsidp to allow extraClaims
This commit refactors the `capRule` struct to allow specifying arbitrary
extra claims:
```json
{
"src": ["group:reader"],
"dst": ["*"],
"ip": ["*"],
"app": {
"tailscale.com/cap/tsidp": [
{
"extraClaims": {
"groups": ["reader"],
"entitlements": ["read-stuff"],
},
}
]
}
}
```
Overwriting pre-existing claims cannot be modified/overwritten.
Also adding more unit-testing
Signed-off-by: Cedric Kienzler <github@cedric-kienzler.de>
* Update cmd/tsidp/tsidp.go
Signed-off-by: cedi <cedi@users.noreply.github.com>
* Update cmd/tsidp/tsidp_test.go
Co-authored-by: Patrick O'Doherty <hello@patrickod.com>
Signed-off-by: Cedric Kienzler <cedi@users.noreply.github.com>
* Update cmd/tsidp/tsidp_test.go
Co-authored-by: Patrick O'Doherty <hello@patrickod.com>
Signed-off-by: Cedric Kienzler <cedi@users.noreply.github.com>
* Fix logical error in test case
Signed-off-by: Cedric Kienzler <github@cedric-kienzler.de>
* fix error printing for failed to unmarshal capability in tsidp
Signed-off-by: Cedric Kienzler <github@cedric-kienzler.de>
* clarify doc string for withExtraClaims
Signed-off-by: Cedric Kienzler <github@cedric-kienzler.de>
---------
Signed-off-by: Cedric Kienzler <github@cedric-kienzler.de>
Signed-off-by: cedi <cedi@users.noreply.github.com>
Signed-off-by: Cedric Kienzler <cedi@users.noreply.github.com>
Co-authored-by: Patrick O'Doherty <hello@patrickod.com>
2025-04-17 17:31:40 -07:00
..
2025-01-07 13:05:37 -08:00
2023-12-07 20:57:31 -05:00
2024-12-02 10:30:46 +01:00
2024-08-23 15:43:40 -05:00
2023-12-15 09:29:42 -08:00
2025-04-09 10:11:15 +01:00
2025-04-16 10:10:45 -07:00
2025-03-18 16:57:04 -07:00
2025-04-17 08:39:31 -05:00
2025-02-18 10:23:04 -06:00
2025-02-18 14:29:14 -06:00
2025-03-04 08:47:35 -07:00
2024-06-10 17:57:22 +01:00
2025-04-17 16:14:34 +01:00
2023-03-01 15:45:12 -07:00
2023-08-03 13:00:45 -07:00
2023-02-18 05:21:05 +00:00
2025-04-07 19:24:51 -07:00
2025-04-14 14:06:56 -07:00
2024-04-16 15:32:38 -07:00
2023-03-13 08:44:25 -07:00
2025-02-05 14:41:42 -08:00
2023-02-11 17:57:36 +00:00
2025-03-18 07:26:04 +00:00
2025-04-08 10:07:47 -07:00
2023-01-27 15:36:29 -08:00
2025-01-31 16:36:39 -06:00
2024-12-06 14:27:52 -05:00
2025-04-08 08:19:29 -07:00
2024-09-09 18:42:13 -07:00
2023-08-24 15:42:35 -07:00
2025-01-06 16:49:34 -08:00
2025-04-16 10:10:45 -07:00
2025-04-16 15:57:59 -07:00
2024-04-16 15:32:38 -07:00
2025-03-13 14:21:29 +00:00
2025-02-05 14:41:42 -08:00
2025-04-16 10:10:45 -07:00
2025-04-17 17:31:40 -07:00
2023-01-27 15:36:29 -08:00
2025-02-05 14:41:42 -08:00
2025-01-14 08:26:56 -08:00
2025-03-29 11:02:42 -07:00
2025-03-18 16:57:04 -07:00