You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.1 KiB
1.1 KiB
Golang Keycloak REST Client
This Golang library provides Types and Methods to drive a Keycloak instance through its REST Admin interface.
## Supported Features
- Realms: CRUD, Export, Import
- Clients: CRU
- Users: CRUD
- Components: CRUD
Hello, World example
Create a directory for your project, initialize the Go module.
mkdir kc-test
cd kc-test
go mod init foo/bar
main.go:
package main
import (
"fmt"
"log"
"time"
keycloak "github.com/nmasse-itix/keycloak-client"
)
func main() {
config := keycloak.Config{
AddrTokenProvider: "http://localhost:8080/auth/realm/master",
AddrAPI: "http://localhost:8080/auth",
Timeout: 10 * time.Second,
}
client, err := keycloak.NewClient(config)
if err != nil {
log.Fatalf("could not create keycloak client: %v", err)
}
accessToken, err := client.GetToken("master", "admin", "admin")
if err != nil {
log.Fatalf("could not get access token: %v", err)
}
realms, err := client.GetRealms(accessToken)
if err != nil {
log.Fatalf("could not get realms: %v", err)
}
for _, realm := range realms {
fmt.Println(*realm.Realm)
}
}