{"id":49888338,"url":"https://github.com/dataelement/bisheng-openfga","last_synced_at":"2026-05-15T19:33:58.700Z","repository":{"id":357275038,"uuid":"1231672802","full_name":"dataelement/bisheng-openfga","owner":"dataelement","description":"openfga support dm","archived":false,"fork":false,"pushed_at":"2026-05-12T04:01:48.000Z","size":8461,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-12T05:37:49.979Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dataelement.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":".github/CODEOWNERS","security":".github/SECURITY-INSIGHTS.yml","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-07T07:14:58.000Z","updated_at":"2026-05-12T02:14:27.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dataelement/bisheng-openfga","commit_stats":null,"previous_names":["dataelement/bisheng-openfga"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/dataelement/bisheng-openfga","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataelement%2Fbisheng-openfga","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataelement%2Fbisheng-openfga/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataelement%2Fbisheng-openfga/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataelement%2Fbisheng-openfga/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dataelement","download_url":"https://codeload.github.com/dataelement/bisheng-openfga/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataelement%2Fbisheng-openfga/sbom","scorecard":{"id":1247313,"data":{"date":"2026-05-12T02:13:48Z","repo":{"name":"github.com/dataelement/bisheng-openfga","commit":"b3090314a5033b350ad1aa7fd21d04a9110fc897"},"scorecard":{"version":"v5.3.0","commit":"c22063e786c11f9dd714d777a687ff7c4599b600"},"score":6,"checks":[{"name":"CI-Tests","score":-1,"reason":"no pull request found","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#ci-tests"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yaml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#dependency-update-tool"}},{"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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"project was created within the last 90 days. Please review its contents carefully","details":["Warn: Repository was created within the last 90 days."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/claude-code-review.yaml:14","Info: jobLevel 'packages' permission set to 'read': .github/workflows/codeql.yml:39","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:42","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:43","Info: jobLevel 'contents' permission set to 'read': .github/workflows/create-helm-release-pr.yaml:23","Info: jobLevel 'contents' permission set to 'read': .github/workflows/create-release-tag.yaml:23","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release.yaml:107","Info: jobLevel 'actions' permission set to 'read': .github/workflows/release.yaml:143","Info: jobLevel 'actions' permission set to 'read': .github/workflows/release.yaml:157","Info: jobLevel permissions set to 'read-all': .github/workflows/release.yaml:173","Info: jobLevel permissions set to 'read-all': .github/workflows/release.yaml:200","Info: topLevel 'contents' permission set to 'read': .github/workflows/claude-code-review.yaml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/create-helm-release-pr.yaml:13","Info: topLevel 'contents' permission set to 'read': .github/workflows/create-release-tag.yaml:13","Info: topLevel 'contents' permission set to 'read': .github/workflows/enforce-changelog-entry.yaml:8","Info: topLevel 'contents' permission set to 'read': .github/workflows/main.yaml:8","Info: topLevel 'contents' permission set to 'read': .github/workflows/markdown-links.yaml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/pull_request.yaml:7","Info: topLevel 'contents' permission set to 'read': .github/workflows/release-nightly.yaml:8","Info: topLevel 'contents' permission set to 'read': .github/workflows/release.yaml:10","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#code-review"}},{"name":"SAST","score":10,"reason":"SAST tool detected","details":["Info: SAST configuration detected: CodeQL","Info: SAST configuration detected: Snyk","Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":9,"reason":"dependency not pinned by hash detected -- score normalized to 9","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/claude-code-review.yaml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/dataelement/bisheng-openfga/claude-code-review.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yaml:148: update your workflow using https://app.stepsecurity.io/secureworkflow/dataelement/bisheng-openfga/release.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yaml:162: update your workflow using https://app.stepsecurity.io/secureworkflow/dataelement/bisheng-openfga/release.yaml/main?enable=pin","Info:  49 out of  49 GitHub-owned GitHubAction dependencies pinned","Info:  36 out of  39 third-party GitHubAction dependencies pinned","Info:   4 out of   4 containerImage 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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#pinned-dependencies"}},{"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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#license"}},{"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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2026-4918"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#vulnerabilities"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#security-policy"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for 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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#branch-protection"}},{"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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#packaging"}},{"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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#fuzzing"}},{"name":"Contributors","score":10,"reason":"project has 31 contributing companies or organizations","details":["Info: found contributions from: EddieHubCommunity, Greenstand, IndianOpenSourceFoundation, NVIDIAGameWorks, TechDiscussion, alumNY, auth0, auth0 / @okta, authzed, cncf-maintainers, codetrotters, codezoned, filepreviews, fnplus, fossasia, fullstacknights, github-craftwork, gitpod-io, grab, grafana, graphite-project, greaterhartfordpython, jazzband, lambalabs, loklak, moja-global, okta, ona-samples, openfga, risk-first, tidev"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#contributors"}}]},"last_synced_at":"2026-05-12T05:45:08.720Z","repository_id":357275038,"created_at":"2026-05-12T05:45:08.720Z","updated_at":"2026-05-12T05:45:08.720Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33076226,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"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":[],"created_at":"2026-05-15T19:33:57.846Z","updated_at":"2026-05-15T19:33:58.689Z","avatar_url":"https://github.com/dataelement.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n![OpenFGA Logo](./openfga-logo.png)\n# OpenFGA\n\n[![Join our community](https://img.shields.io/badge/slack-cncf_%23openfga-40abb8.svg?logo=slack)](https://openfga.dev/community)\n[![DeepWiki](https://img.shields.io/badge/DeepWiki-openfga%2Fopenfga-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==)](https://deepwiki.com/openfga/openfga)\n[![Go Reference](https://pkg.go.dev/badge/github.com/openfga/openfga.svg)](https://pkg.go.dev/github.com/openfga/openfga)\n![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/openfga/openfga?sort=semver\u0026color=green)\n[![Docker Pulls](https://img.shields.io/docker/pulls/openfga/openfga)](https://hub.docker.com/r/openfga/openfga/tags)\n[![Codecov](https://img.shields.io/codecov/c/github/openfga/openfga)](https://app.codecov.io/gh/openfga/openfga)\n[![Go Report](https://goreportcard.com/badge/github.com/openfga/openfga)](https://goreportcard.com/report/github.com/openfga/openfga)\n[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/6374/badge)](https://bestpractices.coreinfrastructure.org/projects/6374)\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fopenfga%2Fopenfga.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fopenfga%2Fopenfga?ref=badge_shield)\n[![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/openfga)](https://artifacthub.io/packages/helm/openfga/openfga)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/openfga/openfga/badge)](https://securityscorecards.dev/viewer/?uri=github.com/openfga/openfga)\n[![SLSA 3](https://slsa.dev/images/gh-badge-level3.svg)](https://slsa.dev)\n\n\u003c/div\u003e\n\n---\n\n**OpenFGA** is a high-performance, flexible authorization/permission engine inspired by [Google Zanzibar](https://research.google/pubs/pub48190/).\nIt helps developers easily model and enforce fine-grained access control in their applications.\n\n## Highlights\n\n- ⚡ High-performance, developer-friendly APIs (HTTP \u0026 gRPC)\n- 🔌 Flexible storage backends (In-Memory, PostgreSQL, MySQL, SQLite beta)\n- 🧰 SDKs for [Java](https://central.sonatype.com/artifact/dev.openfga/openfga-sdk), [Node.js](https://www.npmjs.com/package/@openfga/sdk), [Go](https://github.com/openfga/go-sdk), [Python](https://github.com/openfga/python-sdk), [.NET](https://www.nuget.org/packages/OpenFga.Sdk)\n- 🌐  Several additional SDKs and tools [contributed by the community](https://github.com/openfga/community#community-projects)\n- 🧪 [CLI](https://github.com/openfga/cli) for interacting with an OpenFGA server and [testing authorization models](https://openfga.dev/docs/modeling/testing)\n- 🌿 [Terraform Provider](https://github.com/openfga/terraform-provider-openfga) for configuring OpenFGA servers as code\n- 🎮 [Playground](https://openfga.dev/docs/getting-started/setup-openfga/playground) for modeling and testing\n- 🛠 Can also be embedded as a [Go library](https://pkg.go.dev/github.com/openfga/openfga/pkg/server#example-NewServerWithOpts)\n- 🤝 Adopted by [Auth0](https://fga.dev), [Grafana Labs](https://grafana.com/), [Canonical](https://canonical.com/), [Docker](https://docker.com),  [Agicap](https://agicap.com), [Read.AI](https://read.ai) and [others](https://github.com/openfga/community/blob/main/ADOPTERS.md)\n\n---\n\n## Table of Contents\n- [Quickstart](#quickstart)\n- [Installation](#installation)\n    - [Docker](#docker)\n    - [Docker Compose](#docker-compose)\n    - [Homebrew](#homebrew)\n    - [Precompiled Binaries](#precompiled-binaries)\n    - [Build from Source](#build-from-source)\n    - [Verify Installation](#verify-installation)\n- [Playground](#playground)\n- [Next Steps](#next-steps)\n- [Limitations](#limitations)\n- [Production Readiness](#production-readiness)\n- [Contributing \u0026 Community](#contributing--community)\n\n---\n\n## Quickstart\n\n\u003e [!IMPORTANT]  \n\u003e The following steps are meant for quick local setup and evaluation.  \n\u003e When using the default **in-memory storage engine**, data is ephemeral and will be discarded once the service stops.\n\u003e\n\u003e For [details on configuring](https://openfga.dev/docs/getting-started/setup-openfga/configure-openfga) storage \n\u003e backends, tuning performance, and deploying OpenFGA securely in production-ready environments, refer to the \n\u003e documentation: [Running in Production](https://openfga.dev/docs/getting-started/running-in-production).\n\n\nRun OpenFGA with in-memory storage (⚠️ **not for production**):\n\n```shell\ndocker run -p 8080:8080 -p 3000:3000 openfga/openfga run\n```\n\nOnce running, create a store:\n\n```shell\ncurl -X POST 'localhost:8080/stores' \\\n  --header 'Content-Type: application/json' \\\n  --data-raw '{\"name\": \"openfga-demo\"}'\n```\n\n## Installation\n\n### Docker\n\nOpenFGA is available on [Docker Hub](https://hub.docker.com/r/openfga/openfga), so you can quickly start it using the\nin-memory datastore by running the following commands:\n\n```shell\ndocker pull openfga/openfga\ndocker run -p 8080:8080 -p 3000:3000 openfga/openfga run\n```\n\n\u003e [!NOTE]\n\u003e When the HTTP server is enabled, it will attempt to establish an internal client connection to the gRPC server via unix domain socket.\n\u003e When it is not possible to establish a UDS, the client connection automatically falls back to using a TCP socket.\n\u003e\n\u003e If running the Docker image using the `--read-only` option, the `--tmpfs` option must also be set in order to enabled use of the unix domain socket.\n\u003e For example `--tmpfs /tmp`\n\n### Docker Compose\n\n[`docker-compose.yaml`](./docker-compose.yaml) provides an example of how to launch OpenFGA with Postgres using `docker compose`.\n\n```shell\ncurl -LO https://openfga.dev/docker-compose.yaml\ndocker compose up\n```\n\n### Homebrew\n\nIf you are a [Homebrew](https://brew.sh/) user, you can install [OpenFGA](https://formulae.brew.sh/formula/openfga) with the following command:\n\n```shell\nbrew install openfga\n```\n\n### Precompiled Binaries\n\nDownload your platform's [latest release](https://github.com/openfga/openfga/releases/latest) and extract it.\nThen run the binary with the command:\n\n```shell\n./openfga run\n```\n\n### Build from Source\n\n\u003e [!NOTE]  \n\u003e Make sure you have the latest version of Go installed. See the [Go downloads](https://go.dev/dl/) page.\n\n#### `go install`\n\n```shell\nexport PATH=$PATH:$(go env GOBIN) # make sure $GOBIN is on your $PATH\ngo install github.com/openfga/openfga/cmd/openfga\nopenfga run\n```\n\n#### `go build`\n\n```shell\ngit clone https://github.com/openfga/openfga.git \u0026\u0026 cd openfga\ngo build -o ./openfga ./cmd/openfga\n./openfga run\n```\n\n### Verify Installation\n\nNow that you have [installed](#installation) OpenFGA, you can test your installation by [creating an OpenFGA Store](https://openfga.dev/docs/getting-started/create-store).\n\n```shell\ncurl -X POST 'localhost:8080/stores' \\\n  --header 'Content-Type: application/json' \\\n  --data-raw '{\"name\": \"openfga-demo\"}'\n```\n\nIf everything is running correctly, you should get a response with information about the newly created store, for example:\n\n```json\n{\n  \"id\": \"01G3EMTKQRKJ93PFVDA1SJHWD2\",\n  \"name\": \"openfga-demo\",\n  \"created_at\": \"2022-05-19T17:11:12.888680Z\",\n  \"updated_at\": \"2022-05-19T17:11:12.888680Z\"\n}\n```\n\n## Playground\n\nThe Playground lets you model, visualize, and test authorization setups.\nBy default, it’s available at: [http://localhost:3000/playground](http://localhost:3000/playground)\n\n\u003e [!NOTE]  \n\u003e The Playground is intended for **local development only**.  \n\u003e It can currently only be configured to connect to an OpenFGA server running on `localhost`.\n\nDisable it with:\n\n```shell\n./openfga run --playground-enabled=false\n```\n\nChange port:\n\n```shell\n./openfga run --playground-enabled --playground-port 3001\n```\n\n\u003e [!TIP]\n\u003e The `OPENFGA_HTTP_ADDR` environment variable can be used to configure the address at which the Playground expects the OpenFGA server to be.\n\u003e\n\u003e For example:\n\u003e\n\u003e ```shell\n\u003e docker run -e OPENFGA_PLAYGROUND_ENABLED=true \\\n\u003e -e OPENFGA_HTTP_ADDR=0.0.0.0:4000 \\\n\u003e -p 4000:4000 -p 3000:3000 openfga/openfga run\n\u003e ```\n\u003e\n\u003e This starts OpenFGA on port 4000 and configures the Playground accordingly.\n\n## Next Steps\n\nTake a look at examples of how to:\n\n- [Write an Authorization Model](https://openfga.dev/api/service#/Authorization%20Models/WriteAuthorizationModel)\n- [Write Relationship Tuples](https://openfga.dev/api/service#/Relationship%20Tuples/Write)\n- [Perform Authorization Checks](https://openfga.dev/api/service#/Relationship%20Queries/Check)\n- [Add Authentication to your OpenFGA server](https://openfga.dev/docs/getting-started/setup-openfga/docker#configuring-authentication)\n\n📚 Explore the [Documentation](https://openfga.dev/) and [API Reference](https://openfga.dev/api/service).\n\n## Limitations\n\n### MySQL Storage engine\n\nThe MySQL storage engine has stricter length limits on tuple properties than other backends. See [docs](https://openfga.dev/docs/getting-started/setup-openfga/docker#configuring-data-storage).\n\n💡 OpenFGA’s MySQL adapter was contributed by @twintag — thank you!\n\n## Production Readiness\n\n- ✅ Used in production by [Auth0 FGA](https://auth0.com/fine-grained-authorization) since December 2021\n- ⚠️ Memory storage adapter is **for development only**\n- 🗄 Supported storage: PostgreSQL 14+, MySQL 8, SQLite (beta)\n- 📘 See [Running in Production](https://openfga.dev/docs/best-practices/running-in-production)\n\nThe OpenFGA team treats **production-impacting issues with highest priority**.\n\nSee organizations using OpenFGA in production: [ADOPTERS.md](https://github.com/openfga/community/blob/main/ADOPTERS.md).\nIf your organization is using OpenFGA, please consider adding it to the list.\n\n## Contributing \u0026 Community\n\nWe welcome contributions and community participation.\n\n- 🤝 See [CONTRIBUTING](https://github.com/openfga/.github/blob/main/CONTRIBUTING.md)\n- 🗓 [Monthly Community Meetings](https://github.com/openfga/community/blob/main/community-meetings.md)\n- 💬 Join us on [Slack](https://openfga.dev/docs/community)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdataelement%2Fbisheng-openfga","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdataelement%2Fbisheng-openfga","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdataelement%2Fbisheng-openfga/lists"}