Project Icon

SimpleIdServer

多协议支持的开源身份认证与授权框架

SimpleIdServer是一个支持多种身份认证和授权协议的开源框架,包括OPENID、OAuth 2.0、SCIM 2.0、UMA 2.0、FAPI和CIBA。它简化了访问控制服务器的开发、配置和部署流程。框架的模块化设计和可扩展性使其能够适应不同组织的身份验证和授权需求。SimpleIdServer提供了多个NuGet包,涵盖身份服务器、SCIM服务器和凭证颁发器等功能,帮助开发者高效构建和部署身份管理系统。

SimpleIdServer 核心

SimpleIdServer

构建状态 加入 Gitter 聊天室

SimpleIdServer 是一个开源框架,支持 OPENID、OAUTH2.0、SCIM2.0、UMA2.0、FAPI 和 CIBA。它简化了自定义访问控制服务器的开发、配置和部署。 得益于其模块化和可扩展性,SimpleIdServer 可以根据您组织的特定需求进行定制,用于身份认证、授权等。

网站文档演示

SimpleIdServer.IdServerNuGetNuGet
SimpleIdServer.IdServer.EmailNuGetNuGet
SimpleIdServer.IdServer.SmsNuGetNuGet
SimpleIdServer.IdServer.WsFederationNuGetNuGet
SimpleIdServer.TemplatesNuGetNuGet
SimpleIdServer.ScimNuGetNuGet
SimpleIdServer.Scim.Persistence.EFNuGetNuGet
SimpleIdServer.Scim.Persistence.MongoDBNuGetNuGet
SimpleIdServer.Scim.ClientNuGetNuGet
SimpleIdServer.OpenIdConnectNuGetNuGet

准备工作

安装 SimpleIdServer 模板。

dotnet new --install SimpleIdServer.Templates

这将添加以下模板

命令行描述
dotnet new idserver创建身份服务器。默认情况下,Entity Framework 配置为使用 SQLServer
dotnet new idserverwebsite创建身份服务器网站。默认情况下,Entity Framework 配置为使用 SQLServer
dotnet new scim创建 SCIM 服务器。
dotnet new credissuer创建凭证颁发者 API。
dotnet new credissueradminui创建凭证颁发者管理 UI。

创建 Visual Studio 解决方案

打开命令提示符并执行以下命令来创建解决方案的目录结构。

mkdir Quickstart
cd Quickstart
mkdir src
dotnet new sln -n Quickstart

创建 IdentityServer 项目

要创建一个名为 IdServer 的 Web 项目并安装 SimpleIdServer.IdServer 包,执行以下命令行:

cd src
dotnet new idserver -n IdServer

以下文件将在新的 src/IdServer 目录中创建:

  • IdServer.csproj:添加了 SimpleIdServer.IdServer NuGet 包的项目文件。
  • appsettings.json:包含连接字符串。
  • Program.cs:主应用程序入口点。
  • IdServerConfiguration.cs:包含 ClientsResources

接下来,将 IdServer 项目添加到 Visual Studio 解决方案中

cd ..
dotnet sln add ./src/IdServer/IdServer.csproj

运行 IdServer 项目,确保它监听 URL https://localhost:5001

cd src/IdServer
dotnet run --urls=https://localhost:5001

IdentityServer 现在已准备就绪可以使用。

默认情况下,配置了一个管理员账户。您可以通过导航到 URL https://localhost:5001/master 并使用以下凭据进行身份验证来访问其个人资料:

  • 登录:administrator
  • 密码:password

IdentityServer UI 预览

IdentityServer UI 使用 Bootstrap 5。

IdentityServer

创建 IdentityServer 网站项目

创建一个名为 IdServerWebsite 的 Web 项目,并安装 SimpleIdServer.IdServer.Website 包,执行以下命令行:

cd src
dotnet new idserverwebsite -n IdServerWebsite

运行 IdServerWebsite 项目,它必须监听 URL https://localhost:5002

cd src/IdServerWebsite
dotnet run --urls=https://localhost:5002

IdentityServer 网站现在已准备就绪可以使用。

该网站可用于管理 Identity Server 解决方案的所有方面,如管理客户端、用户和作用域。

Identity Server 网站 UI 预览

IdentityServer 网站 UI 使用 Radzen。

IdentityServerWebsite

SCIM 安全性

默认情况下,SCIM 配置为使用 API KEY 身份验证。 客户端要执行任何操作,必须在 HTTP HEADER Authorization Bearer 字段中包含以下其中一个密钥。

所有者
IdServerba521b3b-02f7-4a37-b03c-58f713bf88e7
AzureAd1595a72a-2804-495d-8a8a-2c861e7a736a

创建带有 EF 支持的 SCIM 项目

创建一个名为 ScimEF 的 Web 项目,安装 SimpleIdServer.Scim.Persistence.EF 包,并配置 Entity Framework (EF) 使用 SQLServer,执行以下命令行:

cd src
dotnet new scim -n ScimEF --connectionString "Data Source=.;Initial Catalog=SCIM;Integrated Security=True;TrustServerCertificate=True" -t "SQLSERVER"

接下来,将 ScimEF 项目添加到 Visual Studio 解决方案中

cd ..
dotnet sln add ./src/ScimEF/ScimEF.csproj

运行 ScimEF 项目,确保它监听 URL https://localhost:5003

cd src/SCIMEF
dotnet run --urls=https://localhost:5003

现在 SCIM 服务器正在运行,您可以通过访问 https://localhost:5003/Schemas 来检查其架构端点。

创建带有 MongoDB 支持的 SCIM 项目

要创建一个名为 ScimMongoDB 的 Web 项目,安装 SimpleIdServer.Scim.Persistence.MongoDB 包并支持 MongoDB,执行以下命令行:

cd src
dotnet new scim -n ScimMongoDB --connectionString "mongodb://localhost:27017" -t "MONGODB"

接下来,将 ScimMongoDB 项目添加到 Visual Studio 解决方案中

cd ..
dotnet sln add ./src/ScimMongoDB/ScimMongoDB.csproj

运行 ScimMongoDB 项目,确保它监听 URL https://localhost:5003

cd src/ScimMongoDB
dotnet run --urls=https://localhost:5003

现在 SCIM 服务器正在运行,您可以通过访问 https://localhost:5003/Schemas 来检查其架构端点。

创建凭证颁发者项目

要创建一个名为 CredentialIssuer 的 Web 项目并安装 SimpleIdServer.CredentialIssuer 包,执行以下命令行:

cd src
dotnet new credissuer -n CredentialIssuer

以下文件将在新的 src/CredentialIssuer 目录中创建:

  • CredentialIssuer.csproj:添加了 SimpleIdServer.CredentialIssuer NuGet 包的项目文件。
  • appsettings.json:包含配置 Openid 身份验证的属性,如 ClientId、ClientSecret 和 Issuer。
  • Program.cs:主应用程序入口点。
  • CredentialIssuerConfiguration.cs:包含 CredentialConfigurations

运行 CredentialIssuer 项目,确保它监听 URL https://localhost:5005

cd src/IdServer
dotnet run --urls=https://localhost:5005

CredentialIssuer 现在已准备就绪可以使用。

凭证颁发者 UI 预览

CredentialIssuer UI 使用 Bootstrap 5。

CredentialIssuer

创建凭证颁发者网站项目

要创建一个名为 CredentialIssuerAdminui 的 Web 项目并安装 SimpleIdServer.CredentialIssuer.Website 包,执行以下命令行:

cd src
dotnet new credissueradminui -n CredentialIssuerAdminui

运行 CredentialIssuerAdminui 项目,它必须监听 URL https://localhost:5006

cd src/IdServerWebsite
dotnet run --urls=https://localhost:5006

凭证颁发者管理界面现在已准备就绪可以使用。

该网站可用于管理凭证配置。

凭证颁发者网站 UI 预览

CredentialIssuer 网站 UI 使用 Radzen。

CredentialIssuerAdminUi

使用 Docker 运行

要在 Docker 中执行所有项目,请执行以下命令:

psake dockerBuild
psake dockerUp

贡献

请阅读 CONTRIBUTING.md 了解我们的行为准则以及向我们提交拉取请求的流程详情。

联系我们

要联系团队,您可以发送电子邮件至 agentsimpleidserver@gmail.com 或在 gitter.im 上分享您的想法。 邀请链接是 https://app.gitter.im/#/room/#simpleidserver:gitter.im

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号