AgileConfig-1.7.0 发布,支持 SSO ???

这篇具有很好参考价值的文章主要介绍了AgileConfig-1.7.0 发布,支持 SSO ???。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AgileConfig 已经好久好久没有更新过比较大的功能了。一是 AgileConfig 本身的定位就是比较轻量,不想集成太多的功能。二是比较忙(懒)。但是本次升级给大家带来了一个比较有用的功能 SSO。

SSO 嘛大家都懂,单点登录,稍微上点规模的公司内部都会有统一的单点登录服务。
目前 SSO 主流协议基本上就是两种:

  • OIDC(OAuth2.0) - OpenID Connect
  • SAML 2.0 - Security Assertion Markup Language

本次 SSO 的实现采用了基于 OIDC 协议的 Code Flow 模式来实现,可以说这是目前市面上最流行的集成方案。
由于这次不是讨论 OIDC 的具体实现,关于 OIDC 相关的知识就不多说了。

图片出处:https://docs.walt.id/v/idpkit/concepts/oidc-recap

如何使用

  1. 升级 AgileConfig 到最新版本或者 tag:1.7.0 以上
  2. 在配置文件或者环境变量中配置 SSO 相关信息

以下对配置的参数进行详细说明:

参数说明

参数 说明 示例
SSO:enabled 是否开启 sso true
SSO:loginButtonText 自定义 SSO 跳转按钮的文字 Azure SSO
SSO:OIDC:clientId OIDC 客户端 ID 2bb823b7-f1ad-48c7-a9a1-713e9a885a5d
SSO:OIDC:clientSecret OIDC 客户端 密钥 6B29FC40-CA47-1067-B31D-00DD010662DA
SSO:OIDC:redirectUri OIDC Server 授权成功后的回调地址, 默认为服务部署域名(或者ip+port)+ /sso http://localhost:5000/sso
SSO:OIDC:tokenEndpoint code 获取 token 的地址,这个地址一般在 OIDC 服务商那里会明确告知 https://login.microsoftonline.com/7aa25791-9a8c-4be4-872f-289bfec8cddb/oauth2/v2.0/token
SSO:OIDC:tokenEndpointAuthMethod 获取 token 接口的认证方案,目前支持:client_secret_post, client_secret_basic, none 三种方案,默认为:client_secret_post client_secret_post
SSO:OIDC:authorizationEndpoint OIDC Server 授权地址,通常是 OIDC 服务商会明确告知。本地服务会加上 response_type,redirect_uri 等参数,构造出完整的授权 URL https://login.microsoftonline.com/7aa25791-9a8c-4be4-872f-289bfec8cddb/oauth2/v2.0/authorize
SSO:OIDC:userIdClaim ID token 中用户 ID 的 claim key,默认为 sub sub
SSO:OIDC:userNameClaim ID token 中用户 name 的 claim key,默认为 name name
SSO:OIDC:scope token 携带的 claim 的范围,默认 openid profile openid profile

如果使用源码运行请对 appsettings.json 进行修改,示例如下:

  "SSO": {
    "enabled": true, 
    "loginButtonText": "SSO",
    "OIDC": {
      "clientId": "2bb823b7-f1ad-48c7-a9a1-713e9a885a5d",
      "clientSecret": "", 
      "redirectUri": "http://localhost:5000/sso", 
      "tokenEndpoint": "https://login.microsoftonline.com/7aa25791-9a8c-4be4-872f-289bfec8cddb/oauth2/v2.0/token",
      "tokenEndpointAuthMethod": "client_secret_post", client_secret_post, client_secret_basic, none. default=client_secret_post.
      "authorizationEndpoint": "https://login.microsoftonline.com/7aa25791-9a8c-4be4-872f-289bfec8cddb/oauth2/v2.0/authorize", 
      "userIdClaim": "sub", 
      "userNameClaim": "name", 
      "scope": "openid profile" 
    }
  }

如果使用 docker compose 运行请使用环境变量修改配置:


  agile_config:
    image: "kklldog/agile_config:latest"
    ports:
      - "15000:5000"
    networks:
      - net0
    volumes:
      - /etc/localtime:/etc/localtime
    environment:
      - TZ=Asia/Shanghai
      - adminConsole=true
      - db:provider=mysql
      - db:conn= Allow User Variables=true;database=agile_config_preview;data source=mysql8;User Id=root;password=1;

      - SSO:enabled=true
      - SSO:loginButtonText=Azure SSO
      - SSO:OIDC:clientId=2bb823b7-f1ad-48c7-a9a1-713e9a885a5d
      - SSO:OIDC:clientSecret=1
      - SSO:OIDC:redirectUri=https://agileconfig-server.xbaby.xyz/sso
      - SSO:OIDC:tokenEndpoint=https://login.microsoftonline.com/7aa25791-9a8c-4be4-872f-289bfec8cddb/oauth2/v2.0/token
      - SSO:OIDC:authorizationEndpoint=https://login.microsoftonline.com/7aa25791-9a8c-4be4-872f-289bfec8cddb/oauth2/v2.0/authorize

数据库表更新

本次发布对 agc_user 表进行了修改,如是从低版本升级上来的请手动调整数据库:

  • id 长度增加到 50
  • 新增一个字段source ,mysql的类型为 enum(Normal, SSO),sql server 的类型为 int

后续

目前 SSO、OIDC 的相关配置通过配置文件或者环境变量来配置略显麻烦,后面如有时间会新增相关界面来进行配置,敬请期待。如果同学你有时间,那么可以给我 PR ,让我们一起为 .NET 的生态尽一份力。

最后

✨✨✨ Github地址:https://github.com/dotnetcore/AgileConfig 开源不易,欢迎 star ✨✨✨

演示地址:http://agileconfig-server.xbaby.xyz/ 超管账号:admin 密码:123456文章来源地址https://www.toymoban.com/news/detail-675994.html

关注我的公众号一起玩转技术

到了这里,关于AgileConfig-1.7.0 发布,支持 SSO ???的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Microsoft 已经发布了5月份关于修复其产品中安全问题的报告。

      🔥 Microsoft 已经发布了5月份关于修复其产品中安全问题的报告。注意这个报告中的趋势性漏洞。   💻随着研究背景的获得,CVE-2023-29324获得了意义。 什么是风险: 所有支持的Windows版本都受到影响--该漏洞是对MSHTML安全机制的一种绕过。 它能导致什么? 攻击者可以创建

    2024年02月08日
    浏览(24)
  • Visual Studio Code 珍藏好久的插件推荐

    目录 1、Prettier - Code formatter ​2、ESLINT 3、Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code 4、GitLens — Git supercharged 5、vscode-icons​编辑 6、Remote - SSH 7、Auto Rename Tag 8、Vetur 9、Path Intellisense 10、Auto Close Tag 11、ES7+ React/Redux/React-Native snippets 12、Code Spell Checker 13、npm Intelli

    2024年02月09日
    浏览(68)
  • lkx语言的总体设计已经发布到github上 (https://github.com/lichuan/lkx)

    Lkx is a new strongly typed scripting language, simpler and faster than lua. It can easily interact with c/c++ , the name Lkx comes from my daughter’s name ( Li Kaixin ), so this language is also a gift for my daughter. simple and clear variable typed hot reloading garbage collection user defined structure shared function shared variable faster than Lua c-

    2024年02月10日
    浏览(31)
  • Gartner发布服务器虚拟化市场指南:容器化、云原生已经成为数据中心未来的主要发展方向

      近日,国际知名权威分析机构Gartner发布了《服务器虚拟化市场指南》。报告显示云服务商和开源社区正在给服务器虚拟化领域带来新一轮的创新,容器和虚拟机融合以及基于操作系统的容器虚拟化将在数据中心等领域获得长足的发展。同时,服务器虚拟化的七大发展趋势也

    2023年04月08日
    浏览(42)
  • 【重磅】:Spring Initializer 已经不支持Java8,也就是SpringBoot2.x项目初始化

    我们可以看到在IDEA内置的Spring Initializer中 Java版本选择模块已经不支持1.8了,同样的,官网也不再支持了 Spring Boot 3.x要求 Java最低版本为17, 最新的SpringBoot版本已经要求Java21了 所以,你可以升级Java版本,使用SpringBoot3.X 我们可以尝试查看一下, 访问Spring官网,按照下图操作

    2024年02月04日
    浏览(35)
  • 联想电脑摄像头打不开解决方案看到最后!!!(相信xdm都找了好久的方法)

    今天打视频突然发现我的电脑摄像头打不开了,还以为电脑坏了,搞了一下午终于找到解决方法了!!! 跟我来康看吧。 第一种: 就是自己关闭了权限,先看看自己电脑键盘是否有摄像头按钮,按一下康康是否关闭了摄像头。 第二种: 就是其他应用关闭了摄像头权限,关

    2024年02月11日
    浏览(54)
  • consul:啥?我被优化没了?AgileConfig+Yarp替代Ocelot+Consul实现服务发现和自动网关配置

    现在软件就业环境不景气,各行各业都忙着裁员优化。作为一个小开发,咱也不能光等着别人来优化咱,也得想办法优化下自己。就拿手头上的工作来说吧,我发现我的微服务应用里,既有AgileConfig这个配置中心组件,又有一个Consul 服务发现组件。本来吧他俩也没啥事,各干

    2024年04月09日
    浏览(31)
  • 微软发布最新.NET 8长期支持版本,云计算、AI应用支持再强化

    11 月 15 日开始的为期三天的 .NET Conf 在线活动的开幕日上,.NET 8作为微软的开源跨平台开发平台正式发布。.NET 团队着重强调云、性能、全栈 Blazor、AI 和 .NET MAUI 是.NET 8的主要亮点。.NET团队在 .NET Conf 2023 [1]活动开幕式上表示:“通过这个版本,.NET 重塑了我们构建按需扩展的

    2024年02月05日
    浏览(29)
  • Avalonia学习实践(二)--跨平台支持及发布

    Avalonia主打跨平台,号称一套代码支持Windows, macOS, Linux, iOS, Android操作系统,其基础是基于.NET Standard 2.0的一系列库,也就是只要平台能支持.NET Standard 2.0,就能运行Avalonia开发的应用。然而理想很丰满、现实很骨感,并不是说跨平台Avalonia没有做到,而是过程中免不了会有些小

    2024年02月07日
    浏览(37)
  • 微软语音扩展全球语言支持,发布160个新声音

    导语:全世界有数千种语言,最具语言天赋的人也只能说数十种,普通人能够学会两三种语言已属不易。然而,在科技日新月异的今天,具备自然语言对话能力的AI已经能够掌握上百种语言,扩展人类自身能力,为不同场景的跨境语言服务打开了更多可能性。 近期,微软宣布

    2024年02月08日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包