api/v2: add OAuth client-credentials auth and scope enforcement

This commit is contained in:
Kristoffer Dalby committed 2026-06-26 09:18:06 +02:00
1 parent ee95cf58d9
commit 84715e976c
12 files changed
+708 -156

No files matched your search

+3 -2
View File
@@ -7,6 +7,7 @@ import (
"time"
"github.com/danielgtaylor/huma/v2"
"github.com/juanfont/headscale/hscontrol/scope"
"github.com/juanfont/headscale/hscontrol/types"
)
@@ -73,7 +74,7 @@ func registerUsers(api huma.API, b Backend) {
Tags: usersTags,
Security: security,
Errors: []int{http.StatusUnauthorized, http.StatusForbidden, http.StatusNotFound},
}, ScopeUsersRead), func(ctx context.Context, in *userByIDInput) (*userOutput, error) {
}, scope.UsersRead), func(ctx context.Context, in *userByIDInput) (*userOutput, error) {
view, err := lookupUser(b, in.UserID)
if err != nil {
return nil, err
@@ -90,7 +91,7 @@ func registerUsers(api huma.API, b Backend) {
Tags: usersTags,
Security: security,
Errors: []int{http.StatusUnauthorized, http.StatusForbidden, http.StatusNotFound},
}, ScopeUsersRead), func(ctx context.Context, in *listUsersInput) (*listUsersOutput, error) {
}, scope.UsersRead), func(ctx context.Context, in *listUsersInput) (*listUsersOutput, error) {
err := requireDefaultTailnet(in.Tailnet)
if err != nil {
return nil, err