All Projects → defineiot → keyauth

defineiot / keyauth

Licence: other
user account and authentication server with oauth 2.0

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to keyauth

eixample
Multi-Tenant .NET 6 Architecture (Angular, Vue, React)
Stars: ✭ 61 (+154.17%)
Mutual labels:  multi-tenant
pkce-generator
Code Verifier and Code Challenge Generator for OAuth with PKCE
Stars: ✭ 81 (+237.5%)
Mutual labels:  pkce
BeelabUserBundle
👥 Simple user management for Symfony.
Stars: ✭ 17 (-29.17%)
Mutual labels:  user-management
doorkeeper-sequel
Doorkeeper Sequel ORM
Stars: ✭ 12 (-50%)
Mutual labels:  oauth2-provider
ms-identity-javascript-v2
VanillaJS sample using MSAL.js v2.x and OAuth 2.0 Authorization Code Flow with PKCE on Microsoft identity platform
Stars: ✭ 67 (+179.17%)
Mutual labels:  pkce
a12n-server
A ready-to-launch User and Authentication system for those that don't want to build it
Stars: ✭ 324 (+1250%)
Mutual labels:  pkce
cfwheels-example-app
A CFWheels 2.x App with user management, role based permissions and password resets
Stars: ✭ 17 (-29.17%)
Mutual labels:  user-management
multi-tenant-support
Build a highly secure, no data leak, multi-tenant rails app
Stars: ✭ 27 (+12.5%)
Mutual labels:  multi-tenant
Settings
A Laravel multi-tenant settings manager
Stars: ✭ 36 (+50%)
Mutual labels:  multi-tenant
carpatin-dashboard-free
Carpatin is a React JS Admin Dashboard Template that focuses on the management flows of a back-office application. We leverage the Material-UI power of stylizing the components in a way that feels more professional.
Stars: ✭ 51 (+112.5%)
Mutual labels:  user-management
keystone-next-example
Example app of integrating KeystoneJS & Next.js
Stars: ✭ 32 (+33.33%)
Mutual labels:  keystone
MultiTenancyFramework
Everything you need to jump-start building multi-tenant applications in C# using any framework of your choice.
Stars: ✭ 29 (+20.83%)
Mutual labels:  multi-tenant
wg-api
creates an HTTP endpoint for a Wireguard® VPN server
Stars: ✭ 61 (+154.17%)
Mutual labels:  user-management
loki-multi-tenant-proxy
Grafana Loki multi-tenant Proxy. Needed to deploy Grafana Loki in a multi-tenant way
Stars: ✭ 48 (+100%)
Mutual labels:  multi-tenant
rbac-react-redux-aspnetcore
A starter template for creating JWT token from ASP.NET Core API project and applying that JWT token authentication on React application
Stars: ✭ 54 (+125%)
Mutual labels:  rbac-management
schematics
Schematics for adding Okta Auth to your projects
Stars: ✭ 60 (+150%)
Mutual labels:  pkce
NeosAcl
No description or website provided.
Stars: ✭ 13 (-45.83%)
Mutual labels:  user-management
SimpleOAuth
Simple OAuth 2.0 for Android
Stars: ✭ 15 (-37.5%)
Mutual labels:  oauth2-provider
RSSnotifier
Node RSS reader telegram bot. Provides notification on queries-matching elements and supports multiple users.
Stars: ✭ 15 (-37.5%)
Mutual labels:  user-management
openmessaging.github.io
OpenMessaging homepage
Stars: ✭ 12 (-50%)
Mutual labels:  multi-tenant

Keyauth

keyauth是一个分布式或者微服务场景下的鉴权中心, 遵循OAuth2.0规范, 参考openstack keystonecloud foundry uaa设计而成, 提供如下功能:

  • 支持多租户用户管理
  • 支持OAuth2.0的中心化的身份管理
  • 支持RBAC的鉴权管理
  • 支持服务目录

具体请参考设计文档iot-auth概要设计

快速开发

开发环境:

  • Golang 1.11+
  • 编辑器: 推荐使用vscod
  • 开发环境: macOS/Linux

A. 初始化数据库: sql脚本位于: cmd/ddl/schema_v1.sql

mysql -uxxxx -p < cmd/ddl/schema_v1.sql

B. 确认配置文件: 配置文件位于: cmd/etc/keyauth.conf, 提前配置好本地的数据库等相关配置

[mysql]
host = "127.0.0.1"
port = "3306"
db = "keyauth"
user = "root"
pass = "passwd"
max_open_conn = 1000
max_idle_conn = 200
max_life_time = 60

C. 初始化系统管理员信息(仅需执行一次)

➜  keyauth git:(master) ✗ make init_admin
[INIT] 开始初始化 系统需要的角色 ...
[INIT] 创建系统管理员角色成功: system_admin
[INIT] 创建租户管理员成功: domain_admin
[INIT] 创建普通成员角色成功: member
[INIT] 开始初始化 系统管理员账户 ...
[INIT] 创建系统管理员部门成功: admin_department
[INIT] 创建系统管理员默认部门成功: default_department
[INIT] 创建系统管理员成功: admin
[INIT] 绑定系统管理员角色成功
[INIT] 绑定租户管理员角色成功
[INIT] 开始初始化 系统管理员应用 ...
[INIT] 创建Web端应用应用成功: client_id -> C1ZRpSzHM6KlhCHiC4kkML66, client_secret -> xqDAZ7kvhNGmLWppQmNZZ1vsYKtH5Nix
[INIT] 创建安卓端应用应用成功: client_id -> TR4pg4Z4FGNTDUsozMtL4f8S, client_secret -> gAtl5xfAES9ezVFW2TeHuACimeTob56s
[INIT] 创建IOS端应用应用成功: client_id -> r1n8Cjvxqy3dFakuhf5haOXL, client_secret -> usxy3jeRDZUG07V8FJE67b7DbbwcIYUl
[INIT] 创建SDK端应用应用成功: client_id -> aTgFOL7Yesq0NSqfILpKQ6A0, client_secret -> 8iZZ78kEaGag5KEf7l2UjpbsiWIJS3Y0
[INIT] 系统管理员初始化完成

D. 启动服务

➜  keyauth git:(master) ✗ make run
DEBU[0000] initial global variables success
DEBU[0000] registry github.com/defineiot/keyauth service features success
INFO[0000] starting keyauth service at 127.0.0.1:8080
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].