{"id":37127460,"url":"https://github.com/canonical/identity-platform-admin-ui","last_synced_at":"2026-01-14T14:50:36.556Z","repository":{"id":178584242,"uuid":"662042330","full_name":"canonical/identity-platform-admin-ui","owner":"canonical","description":"Admin UI for the Canonical identity broker and identity provider solution","archived":false,"fork":false,"pushed_at":"2026-01-12T19:02:40.000Z","size":4488,"stargazers_count":17,"open_issues_count":51,"forks_count":6,"subscribers_count":11,"default_branch":"main","last_synced_at":"2026-01-12T21:36:06.197Z","etag":null,"topics":["admin-ui","golang","identity-platform","rockcraft"],"latest_commit_sha":null,"homepage":"https://github.com/canonical/identity-platform-admin-ui","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/canonical.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-07-04T08:27:32.000Z","updated_at":"2026-01-12T15:54:17.000Z","dependencies_parsed_at":"2023-11-07T13:26:34.177Z","dependency_job_id":"989653da-8c9d-407f-a29a-da3dcde3580d","html_url":"https://github.com/canonical/identity-platform-admin-ui","commit_stats":null,"previous_names":["canonical/identity-platform-admin-ui"],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/canonical/identity-platform-admin-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fidentity-platform-admin-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fidentity-platform-admin-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fidentity-platform-admin-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fidentity-platform-admin-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/canonical","download_url":"https://codeload.github.com/canonical/identity-platform-admin-ui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fidentity-platform-admin-ui/sbom","scorecard":{"id":114440,"data":{"date":"2025-08-12T23:43:48Z","repo":{"name":"github.com/canonical/identity-platform-admin-ui","commit":"b4185104f3f8a86921a6aea90ea9f649c7aaec9e"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":6.9,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: RenovateBot: renovate.json:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/ui-coverage.yml:11","Info: jobLevel 'contents' permission set to 'read': .github/workflows/ui-coverage.yml:12","Info: jobLevel 'contents' permission set to 'read': .github/workflows/ui.yaml:35","Warn: no topLevel permission defined: .github/workflows/auto-approver.yaml:1","Warn: no topLevel permission defined: .github/workflows/build.yaml:1","Warn: no topLevel permission defined: .github/workflows/ci.yaml:1","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yaml:1","Warn: no topLevel permission defined: .github/workflows/cves.yaml:1","Info: topLevel permissions set to 'read-all': .github/workflows/ossf.yaml:12","Warn: no topLevel permission defined: .github/workflows/publish.yaml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/release.yaml:11","Warn: no topLevel permission defined: .github/workflows/scan.yaml:1","Warn: no topLevel permission defined: .github/workflows/tiobe.yaml:1","Warn: no topLevel permission defined: .github/workflows/ui-coverage.yml:1","Warn: no topLevel permission defined: .github/workflows/ui.yaml:1","Warn: no topLevel permission defined: .github/workflows/unittest.yaml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yaml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/canonical/identity-platform-admin-ui/build.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/scan.yaml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/canonical/identity-platform-admin-ui/scan.yaml/main?enable=pin","Warn: downloadThenRun not pinned by hash: .github/workflows/build.yaml:33","Warn: goCommand not pinned by hash: .github/workflows/publish.yaml:85","Warn: pipCommand not pinned by hash: .github/workflows/ui.yaml:78","Info:  37 out of  37 GitHub-owned GitHubAction dependencies pinned","Info:   5 out of   7 third-party GitHubAction dependencies pinned","Info:   4 out of   5 goCommand dependencies pinned","Info:   0 out of   1 pipCommand dependencies pinned","Info:   0 out of   1 downloadThenRun dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":5,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'main'","Info: 'stale review dismissal' is required to merge on branch 'main'","Warn: required approving review count is 1 on branch 'main'","Info: codeowner review is required on branch 'main'","Warn: 'last push approval' is disabled on branch 'main'","Info: 'up-to-date branches' is required to merge on branch 'main'","Info: status check found to merge onto on branch 'main'","Info: PRs are required in order to make changes on branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":1,"reason":"9 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"CI-Tests","score":10,"reason":"15 out of 15 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":6,"reason":"project has 2 contributing companies or organizations -- score normalized to 6","details":["Info: found contributions from: canonical, juju"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-16T00:37:02.199Z","repository_id":178584242,"created_at":"2025-08-16T00:37:02.199Z","updated_at":"2025-08-16T00:37:02.199Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28424001,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T13:30:50.153Z","status":"ssl_error","status_checked_at":"2026-01-14T13:29:08.907Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin-ui","golang","identity-platform","rockcraft"],"created_at":"2026-01-14T14:50:35.729Z","updated_at":"2026-01-14T14:50:36.548Z","avatar_url":"https://github.com/canonical.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Identity Platform Admin UI\n\n[![CI](https://github.com/canonical/identity-platform-admin-ui/actions/workflows/ci.yaml/badge.svg)](https://github.com/canonical/identity-platform-admin-ui/actions/workflows/ci.yaml)\n[![codecov](https://codecov.io/gh/canonical/identity-platform-admin-ui/branch/main/graph/badge.svg?token=Aloh6MWghg)](https://codecov.io/gh/canonical/identity-platform-admin-ui)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/canonical/identity-platform-admin-ui/badge)](https://securityscorecards.dev/viewer/?platform=github.com\u0026org=canonical\u0026repo=identity-platform-admin-ui)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196.svg)](https://conventionalcommits.org)\n\n![GitHub Release](https://img.shields.io/github/v/release/canonical/identity-platform-admin-ui)\n[![Go Reference](https://pkg.go.dev/badge/github.com/canonical/identity-platform-admin-ui.svg)](https://pkg.go.dev/github.com/canonical/identity-platform-admin-ui)\n\nThis is the Admin UI for the Canonical Identity Platform.\n\n## Environment Variables\n\n- `OTEL_GRPC_ENDPOINT`: address of the open telemetry grpc endpoint, used for\n  tracing\n- `OTEL_HTTP_ENDPOINT`: address of the open telemetry http endpoint, used for\n  tracing (grpc endpoint takes precedence)\n- `TRACING_ENABLED`: flag enabling tracing\n- `LOG_LEVEL`: log level, one of `info`,`warn`,`error`,`debug`, defaults\n  to `error`\n- `LOG_FILE`: file where to dump logs, defaults to `log.txt`\n- `PORT`: http server port, defaults to `8080`\n- `CONTEXT_PATH`: the context path that the application will be served on, needed to perform redirection correctly\n- `DEBUG`: debugging flag for hydra and kratos clients\n- `KUBECONFIG_FILE`: optional path of kube config file, default to empty string\n- `KRATOS_PUBLIC_URL`: Kratos public endpoints address\n- `KRATOS_ADMIN_URL`: Kratos admin endpoints address\n- `HYDRA_ADMIN_URL`: Hydra admin endpoints address\n- `IDP_CONFIGMAP_NAME`: name of the k8s config map containing Identity Providers\n- `IDP_CONFIGMAP_NAMESPACE`: namespace of the k8s config map containing Identity\n  Providers\n- `SCHEMAS_CONFIGMAP_NAME`: name of the k8s config map containing Identity\n  Schemas\n- `SCHEMAS_CONFIGMAP_NAMESPACE`: namespace of the k8s config map containing\n  Identity Schemas\n- `OPENFGA_API_SCHEME`: scheme for the OpenFGA host variable, either `http`\n  or `https`\n- `OPENFGA_API_HOST`: host of the OpenFGA server\n- `OPENFGA_API_TOKEN`: token used to interact with OpenFGA server, dictated by\n  OpenFGA server\n- `OPENFGA_STORE_ID`: ID of the OpenFGA store the application will talk to\n- `OPENFGA_AUTHORIZATION_MODEL_ID`: ID of the OpenFGA authorization model the\n  application will talk to\n- `AUTHORIZATION_ENABLED`: flag defining if the OpenFGA authorization middleware\n  is enabled default to `false`\n- `PAYLOAD_VALIDATION_ENABLED`: flag defining if the Payload Validation\n  middleware is enabled default to `true`\n- `AUTHENTICATION_ENABLED`: flag defining if the OAuth authentication middleware\n  is enabled, default to `false`\n- `OIDC_ISSUER`: URL of the OIDC provider\n- `OAUTH2_CLIENT_ID`: OAuth2 client ID used for authentication purposes\n- `OAUTH2_CLIENT_SECRET`: OAuth2 client secret used for authentication purposes\n- `OAUTH2_REDIRECT_URI`: URI used by the Oauth2 provider for the redirecting callback\n- `OAUTH2_CODEGRANT_SCOPES`: OAuth2 scopes, defaults to `openid,offline_access`\n- `OAUTH2_AUTH_COOKIES_ENCRYPTION_KEY`: 32 bytes string used for encrypting cookies\n- `ACCESS_TOKEN_VERIFICATION_STRATEGY`: OAuth2 verification startegy, one of `jwks` or `userinfo``\n- `MAIL_HOST`: host of the mail server (required)\n- `MAIL_PORT`: port exposed by the mail server (required)\n- `MAIL_USERNAME`: username to use for the simple authentication on the mail server (if present, both username and\n  password are used)\n- `MAIL_PASSWORD`: password to use for the simple authentication on the mail server\n- `MAIL_FROM_ADDRESS`: email address sending the email (required)\n- `MAIL_SEND_TIMEOUT_SECONDS`: timeout used to send emails (defaults to 15 seconds)\n- `DSN`: data source name for the database to use\n\n## Development setup\n\nAs a requirement, please make sure to:\n\n- have `rockcraft`, `yq`, and `make` installed\n\n```shell\nsnap install rockcraft\nsnap install yq\napt install make\n# Ensure skopeo is in the path\nsudo ln -s /snap/rockcraft/current/bin/skopeo /usr/local/bin/skopeo\n```\n\n- Microk8s is installed with the `registry` addon operating at `localhost:32000`\n  and kubectl configured to use it\n\n```shell\nsnap install microk8s --classic\nmicrok8s status --wait-ready\nmicrok8s enable registry\n# ensure kubectl is configured to use microk8s\nmicrok8s.kubectl config view --raw \u003e $HOME/.kube/config\n# Alias kubectl so that it can be used by Skaffold\nsnap alias microk8s.kubectl kubectl\n```\n\n- ensure [`skaffold`](https://github.com/GoogleContainerTools/skaffold),\n  [`container-structure-test`](https://github.com/GoogleContainerTools/container-structure-test),\n  [`docker`](https://docs.docker.com/engine/install/ubuntu/)\n  and [helm](https://helm.sh/docs/intro/install) are installed according to\n  their documentation\n\n- initialise LXD so that it has a default profile when used by `rockcraft`\n  during `skaffold build`\n\n```shell\nsudo lxd init --auto\n```\n\nRun `make dev` to get a working environment in k8s.\n\nTo stop any running containers and wipe the container state,\nrun `skaffold delete` from the top of the repository.\n\n### Image rebuild and redeployment\n\nTo avoid a continuos redeployment of the whole setup, there is always the manual\nprocess of building\nthe `admin-ui` image\n\n```shell\n$ SKAFFOLD_DEFAULT_REPO=localhost:32000 skaffold build --push=true --cache-artifacts=false\n\nGenerating tags...\n - identity-platform-admin-ui -\u003e localhost:32000/identity-platform-admin-ui:v1.5.0-181-g1107165-dirty\nStarting build...\nBuilding [identity-platform-admin-ui]...\nTarget platforms: [linux/amd64]\nStarting rockcraft, version 1.2.3\nLogging execution to '/home/shipperizer/.local/state/rockcraft/log/rockcraft-20240424-135944.672894.log'\nLaunching managed ubuntu 22.04 instance...\n.\n.\nv1.5.0-181-g1107165-dirty: digest: sha256:027745f048faddda78b4cd7b9c7dbb59bec8b446941b163006da32f29b9eb377 size: 943\n```\n\nand then substituting the final artifact in the deployment via `kubectl` with\n\n`kubectl edit deployments.apps identity-platform-admin-ui`\n\nwhere you will swap whatever is in `spec.template.spec.containers.0.image` with\nthe new image tag (with sha)\n\n### OpenFGA initialization\n\nThe Admin Service comes up with authorization disabled (\nsee `AUTHORIZATION_ENABLED` env var), The env\nvars `OPENFGA_AUTHORIZATION_MODEL_ID` and `OPENFGA_STORE_ID` which are needed\nfor the correct functioning of the RBAC APIs get set by the\njob `admin-ui-openfga-setup`, after this has completed a developer is supposed\nto bounce the deployment to get the application to source the new env vars\nIf `AUTHORIZATION_ENABLED` is set to `false`, the user context passed to OpenFGA\nwill default to `user:anonymous`, which will make every call to roles and groups\nAPI return an empty response (unless model is populated with relationship linked\nto `user:anonymous`)\n\n```shell\n# Wait for the openfga setup job to complete\nkubectl wait --for=condition=complete job/admin-ui-openfga-setup\n\n# Edit the configmap to enable authorization by setting AUTHORIZATION_ENABLED=true\nkubectl edit configmap identity-platform-admin-ui\n\n# Restart the admin UI apply the changes\nkubectl rollout restart deployment identity-platform-admin-ui\n```\n\nK8s jobs don't get deleted on their own so if you wish to make changes to the\nopenfga model, you need to make sure that the job for setting up openfga is\ndeleted before redeploying the admin UI:\n\n```shell\nkubectl delete job admin-ui-openfga-setup\nmake dev\n```\n\nensure environment variables in the `identity-platform-admin-ui` configmap\nreflect the status you want.\n\n## Endpoint examples\n\n```shell\n$ http :8000/api/v0/identities\n\nHTTP/1.1 200 OK\nContent-Length: 86\nContent-Type: application/json\nDate: Wed, 11 Oct 2023 10:05:37 GMT\nVary: Origin\n\n{\n    \"_meta\": {\n        \"page\": 1,\n        \"size\": 100\n    },\n    \"data\": [],\n    \"message\": \"List of identities\",\n    \"status\": 200\n}\n```\n\n```shell\n$ http :8000/api/v0/idps\n\nHTTP/1.1 200 OK\nContent-Length: 1520\nContent-Type: application/json\nDate: Wed, 11 Oct 2023 10:05:43 GMT\nVary: Origin\n\n{\n    \"_meta\": null,\n    \"data\": [\n        {\n            \"apple_private_key\": \"\",\n            \"apple_private_key_id\": \"\",\n            \"apple_team_id\": \"\",\n            \"auth_url\": \"\",\n            \"client_id\": \"af675f35-3bd7-4515-88e2-b8032e315f6f\",\n            \"client_secret\": \"3y38Q~aslkdhaskjhd~W0xWDB.123u98asd\",\n            \"id\": \"microsoft_af675f353bd7451588e2b8032e315f6f\",\n            \"issuer_url\": \"\",\n            \"label\": \"\",\n            \"mapper_url\": \"file:///etc/config/kratos/microsoft_schema.jsonnet\",\n            \"microsoft_tenant\": \"e1574293-28de-4e94-87d5-b61c76fc14e1\",\n            \"provider\": \"microsoft\",\n            \"requested_claims\": null,\n            \"scope\": [\n                \"profile\",\n                \"email\",\n                \"address\",\n                \"phone\"\n            ],\n            \"subject_source\": \"\",\n            \"token_url\": \"\"\n        },\n        {\n            \"apple_private_key\": \"\",\n            \"apple_private_key_id\": \"\",\n            \"apple_team_id\": \"\",\n            \"auth_url\": \"\",\n            \"client_id\": \"18fa2999-e6c9-475a-a495-15d933d8e8ce\",\n            \"client_secret\": \"3y38Q~aslkdhaskjhd~W0xWDB.123u98asd\",\n            \"id\": \"google_18fa2999e6c9475aa49515d933d8e8ce\",\n            \"issuer_url\": \"\",\n            \"label\": \"\",\n            \"mapper_url\": \"file:///etc/config/kratos/google_schema.jsonnet\",\n            \"microsoft_tenant\": \"\",\n            \"provider\": \"google\",\n            \"requested_claims\": null,\n            \"scope\": [\n                \"profile\",\n                \"email\",\n                \"address\",\n                \"phone\"\n            ],\n            \"subject_source\": \"\",\n            \"token_url\": \"\"\n        },\n        {\n            \"apple_private_key\": \"\",\n            \"apple_private_key_id\": \"\",\n            \"apple_team_id\": \"\",\n            \"auth_url\": \"\",\n            \"client_id\": \"18fa2999-e6c9-475a-a495-89d941d8e1zy\",\n            \"client_secret\": \"3y38Q~aslkdhaskjhd~W0xWDB.123u98asd\",\n            \"id\": \"aws_18fa2999e6c9475aa49589d941d8e1zy\",\n            \"issuer_url\": \"\",\n            \"label\": \"\",\n            \"mapper_url\": \"file:///etc/config/kratos/google_schema.jsonnet\",\n            \"microsoft_tenant\": \"\",\n            \"provider\": \"aws\",\n            \"requested_claims\": null,\n            \"scope\": [\n                \"profile\",\n                \"email\",\n                \"address\",\n                \"phone\"\n            ],\n            \"subject_source\": \"\",\n            \"token_url\": \"\"\n        }\n    ],\n    \"message\": \"List of IDPs\",\n    \"status\": 200\n}\n```\n\n```shell\n$ http :8000/api/v0/clients\n\nHTTP/1.1 200 OK\nContent-Length: 316\nContent-Type: application/json\nDate: Wed, 11 Oct 2023 10:05:47 GMT\nVary: Origin\n\n{\n    \"_links\": {\n        \"first\": \"/api/v0/clients?page=eyJvZmZzZXQiOiIwIiwidiI6Mn0\u0026size=200\",\n        \"next\": \"/api/v0/clients?page=eyJvZmZzZXQiOiIyMDAiLCJ2IjoyfQ\u0026size=200\",\n        \"prev\": \"/api/v0/clients?page=eyJvZmZzZXQiOiItMjAwIiwidiI6Mn0\u0026size=200\"\n    },\n    \"_meta\": {\n        \"total_count\": \"0\"\n    },\n    \"data\": [],\n    \"message\": \"List of clients\",\n    \"status\": 200\n}\n```\n\n## Security\n\nPlease see [SECURITY.md](https://github.com/canonical/identity-platform-admin-ui/blob/main/SECURITY.md)\nfor guidelines on reporting security issues.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcanonical%2Fidentity-platform-admin-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcanonical%2Fidentity-platform-admin-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcanonical%2Fidentity-platform-admin-ui/lists"}