Coder Social home page Coder Social logo

openfga / openfga.dev Goto Github PK

View Code? Open in Web Editor NEW
28.0 13.0 51.0 381.97 MB

OpenFGA website and documentation

License: Apache License 2.0

JavaScript 1.87% CSS 35.50% TypeScript 62.63%
openfga fga fine-grained-authorization documentation zanzibar

openfga.dev's Introduction

OpenFGA Documentation

FOSSA Status

About OpenFGA

OpenFGA is an open source Fine-Grained Authorization solution based on Google's Zanzibar. It was created by the Okta FGA team and welcomes community contribution. OpenFGA is designed to make it easy for application builders to quickly add fine-grained authorization to their applications. It offers an HTTP API and has SDKs for programming languages including JavaScript, GoLang and .NET. More SDKs and integrations such as Rego are planned for the future. OpenFGA is designed and optimized for reliability and low latency at a high scale.

About OpenFGA docs

This website is built using Docusaurus, a modern static website generator.

Getting Started

Setup and Installation

Clone the repo locally

Run git clone https://github.com/openfga/openfga.dev.git to clone the repo to your machine.

Setup Git LFS (Large File Storage)

  • Follow the instructions here to install git lfs on your system.
  • If you haven't done so yet, run git lfs install to set up git lfs for your account.
  • Run git lfs pull
  • Run git lfs checkout

Currently mp4, webm and svg files are tracked. If you need to track more media formats, run: git lfs track "*.extension"

Install Dependencies

To run the docs locally you will need to first install dependencies:

npm install

Running in Development

You can then run

npm run dev

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

Building for Production

To generate a production build

NPM

npm run build # Generated files will be in the ./build directory

To launch a server with the build files, run

npm run serve

You will then be able to browse the documentation at http://localhost:3000/

Docker

Build

To build in development mode

docker build --target development . -t fga-docs-dev

To run in development mode

docker run --init --rm -p 3000:3000 fga-docs-dev

The generated webpages will be available in http://localhost:3000.

Production

To build in production mode

docker build . -t fga-docs

Run

docker run --init --rm -p 3000:80 fga-docs

PR Preview

GitHub Action Deploy PR Preview allows previewing of proposed changes. The URL for the changes can be previewed via

https://openfga.dev/pr-preview/pr-[number]

For example, previewing changes on PR-589 for changes on docs/modeling/public-access is available via

https://openfga.dev/pr-preview/pr-589/docs/modeling/public-access

Contributing

Please review the Contributing Guidelines before sending a PR or opening an issue.

Issue Reporting

If you find a bug or inaccuracy in the documentation content, please report it in this repository's issues section. Please do not report security vulnerabilities on the public GitHub issue tracker. Refer to the security policy for disclosing security issues.

Author

OpenFGA [email protected] (https://openfga.dev)

License

Please refer to https://github.com/openfga/rfcs/blob/main/LICENSE for license information.

openfga.dev's People

Contributors

aaguiarz avatar adriantam avatar dependabot[bot] avatar ewanharris avatar indiepopart avatar jon-whit avatar jpadilla avatar matldupont avatar matthewpereira avatar midaslamb avatar miparnisari avatar moshfiqrony avatar mwangersjo avatar pavokta avatar rhamzeh avatar robertkielty avatar seandlg avatar siddhant-k-code avatar snyk-bot avatar sozua avatar steven-ferguson avatar t3hmrman avatar tazarov avatar tbcvl avatar thisisxvr avatar tristanz avatar trondhindenes avatar vic-dev avatar willvedd avatar wyewata avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openfga.dev's Issues

Swap to the correct openfga swagger file

Currently, we use a temporary swagger file as place holder. We need to update docusaurus.config.js to point to the correct swagger file.

Note that the new swagger file's tag is different. This means we will need to update the swagger file + call to /api/service for the correct API.

Logomark trademark on homepage is cut off

Current:
image

๐Ÿ•ต๏ธ ๐Ÿ•ต๏ธ ๐Ÿ•ต๏ธ

Screen Shot 2022-06-15 at 9 39 09 AM

๐Ÿ•ต๏ธ ๐Ÿ•ต๏ธ ๐Ÿ•ต๏ธ

This is probably my fault in some way, I'll fix it.

Search boxes resize in mobile browser

In mobile browser (happened with both iPhone 12 and Samsung s20), the search bar resizes when clicking on it initially. This happens on both landing page as well as docs page search bar.

See following video capture:

Screen.Recording.2022-06-17.at.10.22.56.AM.mov

Raster image for metadata

As discussed in #58 (comment), we need to create raster image for metadata.

I looked deeper into the standard to refresh my memory, and it looks like [only raster images are supported](https://indieweb.org/The-Open-Graph-protocol#Does_not_support_SVG_images).

Maybe we should make another task for this, and I'll

make an image
place image in the right folder
add the appropriate og:image tag

Configuration language page's equivalent zanzibar concepts section to only show DSL

This is left over from previous review.
Currently, configuration language page's equivalent zanzibar concepts section has a line
In the OpenFGA DSL, it would become:

However, the authorization model viewer below shows both DSL and JSON.
It will be better if we extend authorization model to allow specifying to show only either DSL or JSON.

Style a 404 page for broken routes

Screen Shot 2022-06-10 at 11 35 03 AM

While we might want to put some thought into the overall design eventually, as a first step we could pad the Page Not Found message so that the error page feels like it follows the same conventions as the rest of the site's content.

Fix meta description so that embeds are properly formatted

Currently we have a placeholder description that will show up if someone copy/pastes the URL into Discord (and likely also in Twitter, Slack, etc).

image

We should audit this and craft the right meta data so that the project logo and description show up correctly.

Side note: the title is also repeating needlessly on the homepage.

Remove playground pages

The playground pages should be removed. Instead, references should link directly to the playground pages.

DSL should be syntax highlighted

As a user reading snippets of the OpenFGA domain specific language, I want syntax highlighting to help me learn and differentiate between system words (type/relations/define/self/as/from/and/or/but/not) and user words.

Current state:
image

Style codeblocks in expandable sections in docs

image

Some expandable sections in the docs that have isolated codeblocks appear to have extra padding above and below the codeblocks. These might look better if they have consistent padding (eg, 1rem on all sides).

Viewport scale is not set

image

We probably need to add something like:

<meta name="viewport" content="width=device-width, initial-scale=1">

Table of Contents links have conflict between hover and active states

The links in the doc's section's table of contents component have a conflicting style between '*--active' styling classes and ':hover' rules. This leads to a flash of white (the intended hover colour) before the link turns grey again.

toc active vs hover

While they might appear to be working properly at a glance, hovering your cursor for more than a few moments reveals the issue.

Add page for creating authorization model with SDK

This page should be before after "Create a Store" and before "Update the Relationship Tuples".

Make sure it has the same model (i.e., with "reader", "writer" and "owner") as the "Update relationship tuples", "Perform a Check" and "Integrate within a Framework" pages.

Typo in Entitlement page

The section "03-updating-the-authorization-model" has typo.
It should read plan:y instead of play:y.

Screen Shot 2022-06-09 at 12 19 55 PM

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.