You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
孔令飞 27754165d3 docs: update docs to correct path from change_password to change-password 3 weeks ago
.chglog fix(apiserver): fix compile error 4 years ago
.github/workflows feat: add iam-watcher service to do periodic works 2 years ago
CHANGELOG fix: fix installation bug 2 years ago
api feat: add iam-watcher service to do periodic works 2 years ago
build chore: optimize iam-watcher's Dockerfile 2 years ago
cmd fix: fix iam-authz-server compile bug 4 months ago
configs chore: update to v1.6.2 2 years ago
deployments refactor: add v1.6.2 iam install file 4 months ago
docs docs: update docs to correct path from change_password to change-password 3 weeks ago
examples chore: format imports 3 years ago
githooks refactor: remove debug echo message in pre-commit script 2 years ago
init docs: update docs 2 years ago
internal feat: update code 4 months ago
pkg feat: update code 4 months ago
scripts feat: update code 4 months ago
test fix: remove `WithAudience` options when call ParseWithClaims 2 years ago
third_party/forked/murmur3 chore: format imports 3 years ago
tools feat: update code 4 months ago
.gitignore fix: ignore the .idea directory 3 years ago
.gitlint chore: adjust commit message check rule 2 years ago
.golangci.yaml fix: fix some compile bugs 2 years ago
.gsemver.yaml refactor: add context.Context parameter to some functions 3 years ago
CONTRIBUTING.md feat: init commit 4 years ago
LICENSE feat: init commit 4 years ago
Makefile Merge branch 'master' of https://github.com/marmotedu/iam 1 year ago
OWNERS docs: add OWNERS and SECURITY.md 3 years ago
README.md test: add fuzzing test for Unpointer function 2 years ago
SECURITY.md docs: add OWNERS and SECURITY.md 3 years ago
go.mod refactor: bump go1.1.8 to go1.21.4 4 months ago
go.sum Merge pull request #50 from Lucareful/feature/automaxprocs 2 years ago
go.work feat: update code 4 months ago
go.work.sum fix: fix iam-authz-server compile bug 4 months ago

README.md

IAM - 身份识别与访问管理系统

IAM = Identity and Access Management

IAM 是一个基于 Go 语言开发的身份识别与访问管理系统,用于对资源访问进行授权。最新稳定版本为:v1.6.2,建议基于稳定版安装测试

这里需要注意:

  • 如果你是极客时间《Go 语言项目开发实战》专栏的读者,请使用 v1.1.0 版本(tag)
  • 如果你是图书《从零构建企业级 Go 项目》的读者,请使用 v1.6.t2 版本(tag)

更详细的版本映射请参考:版本映射

IAM 同时也具有以下能力:

  1. 配合极客时间专栏 Go 语言项目开发实战,讲解如何用 Go 做企业级应用的开发,是该项目的理论课程,包含了项目各个知识点和构建思路的讲解,也会包含我的一线研发经验和建议。

  2. 作为一个开发脚手架,供开发者克隆后二次开发,快速构建自己的应用。

IAM 项目会长期维护、定期更新,欢迎兄弟们 Star & Contribute

功能特性

本项目用到了Go企业开发的大部分核心技能点,见下图:

技术思维导图

更多请参考:marmotedu/gocollect

软件架构

IAM架构

架构解析见:IAM 架构 & 能力说明

快速开始

依赖检查

  1. 服务器能访问外网

  2. 操作系统:CentOS Linux 8.x (64-bit)

本安装脚本基于 CentOS 8.2 安装,建议你选择 CentOS 8.x 系统。其它Linux发行版、macOS也能安装,不过需要手动安装。

快速部署

快速部署请参考:IAM 部署指南

IAM 项目还提供了更详细的部署文档,请参考:手把手教你部署IAM系统

构建

如果你需要重新编译IAM项目,可以执行以下 2 步:

  1. 克隆源码
$ git clone https://github.com/marmotedu/iam $GOPATH/src/github.com/marmotedu/iam
  1. 编译
$ cd $GOPATH/src/github.com/marmotedu/iam
$ make

构建后的二进制文件保存在 _output/platforms/linux/amd64/ 目录下。

使用指南

IAM Documentation

如何贡献

欢迎贡献代码,贡献流程可以参考 developer's documentation

社区

You are encouraged to communicate most things via GitHub issues or pull requests.

关于作者

为了方便交流,我建了微信群,可以加我 微信:nightskong,拉你入群,方便交流。

谁在用

如果你有项目在使用iam系统模板,也欢迎联系作者,加入使用案例。

许可证

IAM is licensed under the MIT. See LICENSE for the full license text.