Coder Social home page Coder Social logo

mdsohelmia / authz Goto Github PK

View Code? Open in Web Editor NEW

This project forked from eko/authz

0.0 0.0 0.0 37.57 MB

๐Ÿ›ก๏ธ Authorization backend that comes with a UI for RBAC and ABAC permissions

Home Page: https://authz.fr

License: MIT License

Shell 0.02% JavaScript 0.52% Go 57.75% TypeScript 32.58% CSS 0.11% Makefile 0.62% HTML 2.17% Dockerfile 0.13% Gherkin 6.10%

authz's Introduction

Backend Cucumber badge Go Report Card

๐Ÿ›ก๏ธ Authz - Authorization backend

Authz

This project brings a backend server with its frontend for managing authorizations.

You can use both Role-Based Acccess Control (RBAC) and Attribute-Based Access Control (ABAC).

Why use it?

๐ŸŒ A centralized backend for all your applications authorizations

๐Ÿ™‹โ€โ™‚๏ธ Supports Role-Based Access Control (RBAC)

๐Ÿ“Œ Supports Attribute-Based Access Control (ABAC)

โš™๏ธ Multiple language SDKs available

โœ… Reliable: Authz uses Authz itself for managing its own internal authorizations

๐Ÿ” Audit: We log each check decisions and which policy matched

๐Ÿ” Single Sign-On: Use your enterprise SSO to log into the web UI, using OpenID Connect

๐Ÿ•ต๏ธโ€โ™‚๏ธ Observability: Retrieve metrics and tracing data into your prefered tools

More information on authz.fr

How it works?

Authorization is simple: a principal wants to make an action on a resource. That's it.

Authz allows you to manage all the authorizations you want to manage. All of them, centralized in a single application.

Text changing depending on mode. Light: 'So light!' Dark: 'So dark!'

All you need to do is to host the backend server (a Go single binary), the frontend (static files) if you want it and use our SDKs.

All data are stored in a SQL database. We currently support:

You can run a development environment using our docker-compose.mysql.yaml and docker-compose.postgres.yaml files. Or, you can see below to run an example using SQLite.

SDKs

In order to help you, we have the following available SDKs:

Please check their documentations for detailled usage. They all use gRPC for communicating with the Authz backend (server-to-server).

More SDKs are coming soon.

Getting started

The best way to start trying Authz is to use the following standalone Docker image:

$ docker run --rm \
    -e database_driver=sqlite \
    -e database_name=:memory: \
    -p 8080:8080 \
    -p 8081:8081 \
    -p 3000:80 \
    ekofr/authz:v0.8.4-standalone

Here, we use SQLite in-memory as database.

Frontend will be available under http://localhost:3000 with default credentials: admin / changeme.

Alternatively, we also have separated backend and frontend Docker images available here: https://hub.docker.com/repository/docker/ekofr/authz.

Documentation

More technical documentations are available at https://docs.authz.fr.

Backend

For more information about backend, please refer to the Backend README file.

Frontend

For more information about frontend, please refer to the Frontend README file.

Community

Please feel free to contribute on this project and do not hesitate to open an issue if you want to discuss about a feature.

authz's People

Contributors

eko avatar dependabot[bot] avatar ltagliamonte avatar

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.