• Stars
    star
    869
  • Rank 50,646 (Top 2 %)
  • Language
  • License
    Creative Commons ...
  • Created almost 7 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

📊 Software and Libraries for Authentication & Authorization & SSO & IAM

Awesome Authentication & Authorization & SSO & IAM Awesome

Quality Authentication & Authorization & SSO & IAM software and libraries.

Authentication (aka AuthN) and authorization (aka AuthZ) are both security measures. Authentication is the process of verifying who you are. Authorization is the process of verifying that you have access to something. Authorization occurs after successful authentication.

Contents

SSO (Single-Sign-On), IAM (Identity Access Management)

  • Casdoor - UI-first centralized authentication / Single-Sign-On (SSO) platform supporting OAuth 2.0 / OIDC and SAML.
  • Keycloak - Open Source Identity and Access Management.
  • Authelia - The Single Sign-On Multi-Factor portal for web apps.
  • ZITADEL - Cloud-native Identity & Access Management platform for secure authentication, authorization and identity management.

Authentication

C#

Golang

  • Casdoor - UI-first centralized authentication / Single-Sign-On (SSO) platform supporting OAuth 2.0 / OIDC and SAML.
  • OIDC - OpenID Connect Library (client and server) for Go
  • Ory Hydra - OpenID Connect certified OAuth2 server.
  • Ory Kratos - API-first Identity and User Management system built for cloud applications.
  • Ory Oathkeeper - Identity/Access proxy inspired by the BeyondCorp/Zero-Trust white paper.
  • Ory Fosite - Extensible OAuth 2.0 and OpenID Connect SDK for Golang.
  • ZITADEL - Cloud-native Identity & Access Management platform for secure authentication, authorization and identity management.

Java

  • Apache Shiro - Powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.
  • pac4j - Security engine for Java (authentication, authorization, multi frameworks): OAuth, CAS, SAML, OpenID Connect, LDAP, JWT.
  • Spring Security OAuth - Provides support for using Spring Security with OAuth (1a) and OAuth2.

Node.js

  • Passport - Simple, unobtrusive authentication for Node.js. A comprehensive set of strategies support authentication using a username and password, Facebook, Twitter, and more.
  • bell - Third-party authentication plugin for hapi. Ships with built-in support for various well-known sites and simple configuration object will support other OAuth 1.0a and OAuth 2.0 sites.

Python

  • Keystone - Provides authentication, authorization and service discovery mechanisms via HTTP primarily for use by projects in the OpenStack family.
  • Authomatic - Simple yet powerful authorization & authentication client library for Python web applications.
  • Python Social Auth - Easy to setup social authentication/registration mechanism with support for several frameworks and auth providers.
  • Raider - Web authentication testing framework, which treats the authentication process as finite state machines.

Ruby

  • Authlogic - Clean, simple, and unobtrusive Ruby authentication solution.

Authorization

Android

  • AndPermission - Android runtime permission, support the right to apply for permission at any place.

C#

  • Casbin.NET - Authorization library that supports access control models like ACL, RBAC, ABAC in .NET (C#).
  • DotNetOpenAuth - Implementation of the OpenID, OAuth protocols.
  • AuthorizationServer - Sample implementation of an OAuth2 authorization server.

Golang

  • Casbin - Authorization library that supports access control models like ACL, RBAC, ABAC in Golang.
  • goRBAC - Lightweight role-based access control implementation in Go.
  • Ladon - SDK for access control policies: authorization for the microservice and IoT age.
  • Foulkon - Authorization server that allows or denies access to web resources.
  • Gocialite - Social OAuth login in Go with multiple providers has never been so easy.
  • OIDC - OpenID Connect Library (client and server) for Go
  • Ory Keto - Access control server capable of solving complex use cases (multi-tenant, attribute-based access control, etc.) with access control policies.
  • Oso - Batteries-included framework for building authorization in your Go application.
  • ZITADEL - Cloud-native Identity & Access Management platform for secure authentication, authorization and identity management.

Rust

  • Casbin-Rs - Authorization library that supports access control models like ACL, RBAC, ABAC in Rust.
  • Oso - Batteries-included framework for building authorization in your Rust application.

iOS

  • Permission - Unified API to ask for permissions on iOS.

Java

  • jCasbin - Authorization library that supports access control models like ACL, RBAC, ABAC in Java.
  • Apache Shiro - Powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.
  • pac4j - Security engine for Java (authentication, authorization, multi-frameworks): OAuth, CAS, SAML, OpenID Connect, LDAP, JWT.
  • AT&T XACML - XACML 3.0 implementation from AT&T.
  • Apache Sentry - Highly modular system for providing fine grained role based authorization to both data and metadata stored on an Apache Hadoop cluster.
  • TOTP Server-Side Library - TOTP server-side library.
  • Oso - Batteries-included framework for building authorization in your Java application.

Node.js

  • Node-Casbin - Authorization library that supports access control models like ACL, RBAC, ABAC in Node.js.
  • RBAC - Hierarchical role-based access control for Node.js.
  • ABAC - Attribute-based access control for Node.js.
  • accesscontrol - Role and attribute-based access control for Node.js.
  • Oso - Batteries-included framework for building authorization in your Node.js application.

PHP

  • PHP-Casbin - Authorization library that supports access control models like ACL, RBAC, ABAC in PHP.
  • PHP-RBAC - Authorization library for PHP which provides developers with NIST Level 2 hierarchical role-based access control.
  • ezRbac - Simple yet easy to implement role-based access control library for popular PHP framework: Codeigniter.
  • php-abac - Attribute-based access control library.
  • laravel-permission - Allows you to manage user permissions and roles in a database.
  • logical-permissions-php - This is a generic library that provides support for array-based permissions with logic gates such as AND and OR.
  • symfony-logical-authorization-bundle - This Symfony bundle provides a unifying solution for authorization that aims to be flexible, convenient and consistent.

Python

  • PyCasbin - Authorization library that supports access control models like ACL, RBAC, ABAC in Python.
  • Simple RBAC - Simple role-based access control utility for Python.
  • Flask-RBAC - Adds RBAC support to Flask.
  • Vakt - Attribute-based access control (ABAC) SDK for Python.
  • Oso - Batteries-included framework for building authorization in your Python application.

Ruby

  • Oso - Batteries-included framework for building authorization in your Ruby application.
  • Pundit - Minimal authorization through OO design and pure Ruby classes.
  • Casbin - Authorization library that supports access control models like ACL, RBAC, ABAC in Ruby.
  • CanCanCan - Authorization for Ruby on Rails.

Articles

Contribute

PR is welcomed.

License

This project is licensed under the CC0-1.0 license.

More Repositories

1

casbin

An authorization library that supports access control models like ACL, RBAC, ABAC in Golang: https://discord.gg/S5UjpzGZjN
Go
16,680
star
2

casdoor

An open-source UI-first Identity and Access Management (IAM) / Single-Sign-On (SSO) platform with web UI supporting OAuth 2.0, OIDC, SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA and RADIUS
Go
7,562
star
3

node-casbin

An authorization library that supports access control models like ACL, RBAC, ABAC in Node.js and Browser
TypeScript
2,455
star
4

jcasbin

An authorization library that supports access control models like ACL, RBAC, ABAC in Java
Java
2,304
star
5

pycasbin

An authorization library that supports access control models like ACL, RBAC, ABAC in Python
Python
1,256
star
6

Casbin.NET

An authorization library that supports access control models like ACL, RBAC, ABAC in .NET (C#)
C#
1,090
star
7

casibase

Open-Source Domain Knowledge Database & IM & Forum Software powered by ChatGPT. See demo: https://ai.casbin.com
JavaScript
1,030
star
8

casbin-rs

An authorization library that supports access control models like ACL, RBAC, ABAC in Rust.
Rust
772
star
9

gorm-adapter

GORM adapter for Casbin, see extended version of GORM Adapter Ex at: https://github.com/casbin/gorm-adapter-ex
Go
647
star
10

xorm-adapter

Xorm adapter for Casbin
Go
381
star
11

casbin-server

Casbin as a Service (CaaS)
Go
293
star
12

caswaf

HTTP & OAuth Gateway and Web Application Firewall (WAF) based on ModSecurity, online demo: https://door.caswaf.com
Go
284
star
13

mongodb-adapter

MongoDB adapter for Casbin
Go
251
star
14

casvisor

An open-source security log auditing & RDP, VNC, SSH bastion platform, online demo: https://door.casvisor.com
JavaScript
245
star
15

caddy-authz

Caddy-authz is a middleware for Caddy that blocks or allows requests based on access control policies.
Go
238
star
16

casbin-cpp

An authorization library that supports access control models like ACL, RBAC, ABAC in C/C++
C++
216
star
17

docker-casbin-plugin

Docker RBAC and ABAC Authorization Plugin Based on Casbin: https://github.com/casbin/casbin
Go
212
star
18

protobuf-adapter

Google Protocol Buffers adapter for Casbin
Go
190
star
19

redis-adapter

Redis adapter for Casbin
Go
188
star
20

etcd-watcher

Etcd watcher for Casbin
Go
168
star
21

negroni-authz

negroni-authz is an authorization middleware for Negroni
Go
157
star
22

casbin.js

An authorization library that supports access control models like ACL, RBAC, ABAC in Frontend Javascript
TypeScript
152
star
23

casdoor-old

An open-source Identity and Access Management (IAM) / Single-Sign-On (SSO) platform with web UI supporting OAuth 2.0, OIDC, SAML, CAS, LDAP, WebAuthn, TOTP and MFA
Go
103
star
24

casbin-hub

The hub for Casbin
JavaScript
87
star
25

casbin-editor

Web-based model & policy editor for Casbin
TypeScript
78
star
26

Talent2023

Casbin明日之星预选生计划-Talents for Casbin 2023 【学生报名请加QQ群:540163681】
67
star
27

casbin-ex

An authorization library that supports access control models like ACL, RBAC, ABAC in Elixir
Elixir
59
star
28

lua-casbin

An authorization library that supports access control models like ACL, RBAC, ABAC in Lua (Kong, APISIX, OpenResty)
Lua
52
star
29

ent-adapter

Ent adapter for Casbin
Go
49
star
30

casnode

Open-Source Forum and Social Platform, Alternative to StackOverflow & Flarum
Go
45
star
31

casbin-oa

The OA system used by Casbin community
Go
39
star
32

casbin-website

Deprecated! Please use v2 docs site: https://github.com/casbin/casbin-website-v2 | The v1 docs website for Casbin
JavaScript
39
star
33

casbin-pg-adapter

A go-pg adapter for casbin
Go
37
star
34

dart-casbin

An authorization library that supports access control models like ACL, RBAC, ABAC in Dart/Flutter
Dart
34
star
35

redis-watcher

Redis WatcherEx for Casbin
Go
34
star
36

k8s-gatekeeper

Kubernetes (k8s) admission controller webhook based on Casbin
Go
34
star
37

openstack-policy-editor

A Casbin Policy Editor for OpenStack
JavaScript
32
star
38

k8s-authz

Kubernetes (k8s) RBAC & ABAC authorization middleware based on Casbin
Go
28
star
39

casbin-go-client

Go client for Casbin-Server
Go
25
star
40

SummerOfCode2022

GSoC 2022 Idea List for Casbin
25
star
41

casbin-vscode-plugin

VSCode plugin for working with Casbin Models
JavaScript
23
star
42

casbin-mesh

A scalable authorization layer built on Casbin (The experimental project is currently unstable)
Go
22
star
43

beego-orm-adapter

Beego ORM adapter for Casbin
Go
21
star
44

envoy-authz

Istio/Envoy RBAC & ABAC authorization middleware based on Casbin
Go
19
star
45

hraft-dispatcher

A dispatcher based on Hashicorp's Raft for Casbin.
Go
17
star
46

casbin-website-v2

The new docs website for Casbin based on Docusaurus v2
JavaScript
17
star
47

casbin-server-deprecated

Casbin as a Service via RESTful
Go
16
star
48

json-adapter

JSON adapter for Casbin
Go
16
star
49

auth0-role-manager

Auth0 role manager for Casbin
Go
15
star
50

casbin-raft

Etcd Raft Dispatcher for Casbin
Go
13
star
51

session-role-manager

Session based role manager for Casbin
Go
13
star
52

mysql-adapter

MySQL DB adapter for Casbin
Go
12
star
53

SwiftCasbin

An authorization library that supports access control models like ACL, RBAC, ABAC in iOS Swift / Objective-C
Swift
10
star
54

govaluate

Arbitrary expression evaluation for golang, maintained by Casbin
Go
10
star
55

SummerOfCode2021

GSoC 2021 Idea List for Casbin
10
star
56

iam-to-casbin-translator

Translate AWS IAM policy to Casbin policy
Go
9
star
57

confita

An open-source version of Kaggle written in Go and React
Go
9
star
58

gorm-adapter-ex

Extended version of GORM Adapter, see original version of GORM Adapter at: https://github.com/casbin/gorm-adapter
Go
7
star
59

deno-casbin

An authorization library that supports access control models like ACL, RBAC, ABAC in Deno.
JavaScript
7
star
60

Summer2021

开源软件供应链点亮计划-暑期2021 for Casbin 【学生报名请加QQ群:540163681】
7
star
61

mux-authz

gorilla/mux's RBAC & ABAC Authorization middleware based on Casbin
Go
6
star
62

casbin-core

An authorization library that supports access control models like ACL, RBAC, ABAC in modern JavaScript platforms
TypeScript
6
star
63

kubesphere-authz

ACL, RBAC, ABAC authorization middleware for KubeSphere
Go
5
star
64

okta-role-manager

Okta role manager for Casbin
Go
5
star
65

google-groups-crawler

This tool is for legitimate use. We internally use it for synchronizing posts between Casnode forum and our own Casbin Google Group
Go
5
star
66

zap-logger

Zap logger for Casbin
Go
5
star
67

cassandra-adapter

Cassandra DB adapter for Casbin
Go
4
star
68

revel-authz

revel-authz is an authorization middleware for Revel
Go
4
star
69

xacml-to-casbin-translator

Translate XACML policy to Casbin policy
HTML
4
star
70

laravel-rbac

An authorization library that supports access control models like ACL, RBAC, ABAC in Laravel
PHP
4
star
71

graphql-authz

graphql-authz is an authorization middleware for graphql-go
Go
4
star
72

static

Casbin static resources like js, css, img
CSS
4
star
73

casbin-pythonclient

Python client for Casbin Server
Python
3
star
74

casnode-web-new

JavaScript
3
star
75

Summer2022

开源软件供应链点亮计划-暑期2022 for Casbin 【学生报名请加QQ群:540163681】
3
star
76

scala-casbin

3
star
77

VisualPCD

VisualPCD aims to parse the XACML format policy file and detect the authorization conflicts between XACML policies.
C++
3
star
78

Talent2024

Casbin明日之星预选生计划-Talents for Casbin 2024 【学生报名请加QQ群:540163681】
3
star
79

casbin.github.io

The GitHub pages (static site) for: https://github.com/casbin/casbin-website
HTML
2
star
80

caswire

An open-source host-based anti-virus, firewall and IDS (Intrusion Detection System) platform: https://discord.gg/S5UjpzGZjN
JavaScript
2
star
81

Summer2023

开源软件供应链点亮计划-暑期2023 for Casbin 【学生报名请加QQ群:540163681】
2
star
82

SeasonOfDocs2022

Google Season of Docs 2022 Proposal for Casbin
2
star
83

istio-authz

1
star
84

Permap

A permission mapper
Python
1
star
85

awesome-chatgpt

Software and Libraries for OpenAI & ChatGPT & LLM
1
star
86

casvisor-website

Docs site of Casvisor : https://github.com/casbin/casvisor
JavaScript
1
star
87

tyk-authz

Casbin authorization plugin for tyk API gateway
Go
1
star
88

caswaf-website

The docs website for CasWAF: https://github.com/casbin/caswaf
JavaScript
1
star
89

tikv-watcher

TiKV watcher for Casbin
Go
1
star
90

chi-authz

Chi Authorization Middleware based on Casbin
Go
1
star
91

casdoc

Docs helper based on OpenAI ChatGPT
Go
1
star
92

pycasbin-on-cpp

An authorization library that supports access control models like ACL, RBAC, ABAC in Python, based on C/C++ (Casbin-CPP)
1
star