Skip to content

Commit 640934d

Browse files
authored
feat: add support for resource server settings endpoint (#421)
* feat: add support for resource server settings endpoint * fix: endpoint URL * test: add unit test
1 parent 70f6ad9 commit 640934d

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

client.go

+18
Original file line numberDiff line numberDiff line change
@@ -3154,6 +3154,24 @@ func (g *GoCloak) GetResourcesClient(ctx context.Context, token, realm string, p
31543154
return result, nil
31553155
}
31563156

3157+
// GetResourceServer returns resource server settings.
3158+
// The access token must have the realm view_clients role on its service
3159+
// account to be allowed to call this endpoint.
3160+
func (g *GoCloak) GetResourceServer(ctx context.Context, token, realm, idOfClient string) (*ResourceServerRepresentation, error) {
3161+
const errMessage = "could not get resource server settings"
3162+
3163+
var result *ResourceServerRepresentation
3164+
resp, err := g.GetRequestWithBearerAuth(ctx, token).
3165+
SetResult(&result).
3166+
Get(g.getAdminRealmURL(realm, "clients", idOfClient, "authz", "resource-server", "settings"))
3167+
3168+
if err := checkForError(resp, err, errMessage); err != nil {
3169+
return nil, err
3170+
}
3171+
3172+
return result, nil
3173+
}
3174+
31573175
// UpdateResource updates a resource associated with the client, using access token from admin
31583176
func (g *GoCloak) UpdateResource(ctx context.Context, token, realm, idOfClient string, resource ResourceRepresentation) error {
31593177
const errMessage = "could not update resource"

client_test.go

+17
Original file line numberDiff line numberDiff line change
@@ -4986,6 +4986,23 @@ func Test_CreateListGetUpdateDeleteResourceClient(t *testing.T) {
49864986
require.Equal(t, *(createdResource.Name), *(updatedResource.Name))
49874987
}
49884988

4989+
func Test_GetResourceServer(t *testing.T) {
4990+
t.Parallel()
4991+
cfg := GetConfig(t)
4992+
client := NewClientWithDebug(t)
4993+
token := GetAdminToken(t, client)
4994+
4995+
rs, err := client.GetResourceServer(
4996+
context.Background(),
4997+
token.AccessToken,
4998+
cfg.GoCloak.Realm,
4999+
gocloakClientID,
5000+
)
5001+
require.NoError(t, err, "GetResourceServer failed")
5002+
require.NotNil(t, rs)
5003+
t.Logf("Resource server settings: %+v", rs)
5004+
}
5005+
49895006
func Test_CreateListGetUpdateDeleteResource(t *testing.T) {
49905007
t.Parallel()
49915008
cfg := GetConfig(t)

0 commit comments

Comments
 (0)