dotnetcore / AgileConfig

基于.NET Core开发的轻量级分布式配置中心 / .NET Core lightweight configuration server
MIT License
1.46k stars 296 forks source link

请问后续有没有支持SSO协议的计划? #134

Closed yangzhu6263736 closed 9 months ago

yangzhu6263736 commented 1 year ago

请问后续有没有支持SSO协议的计划?或者支持企业微信也可以

kklldog commented 1 year ago

也许吧。今年太忙了。你们可以尝试 contribute

yangzhu6263736 commented 1 year ago

主要c#不太会,golang,node,python之类的都可以。尴尬

kklldog commented 1 year ago

主要c#不太会,golang,node,python之类的都可以。尴尬

你想要哪种 sso 呢? AUTH2?LDAP?

yangzhu6263736 commented 1 year ago

OIDC SAML2任意一个就可以吧。 另外还有个问题想问下,节点的概念我之前理解的是 比如国内部署一个,美东部署一个,国内发布配置了能自动同步到海外。客户端能就近拉取,但测试了下好像我理解的不太对。 agileconfig的这个节点感觉更像是一个无状态的横向扩容,做高可用用的。

kklldog commented 1 year ago

OIDC SAML2任意一个就可以吧。 另外还有个问题想问下,节点的概念我之前理解的是 比如国内部署一个,美东部署一个,国内发布配置了能自动同步到海外。客户端能就近拉取,但测试了下好像我理解的不太对。 agileconfig的这个节点感觉更像是一个无状态的横向扩容,做高可用用的。

嗯,是这么回事。只是多部署了几个实例,指向了同一个数据库。 因为 agileconfig 并没有做真正的分布式。比如引入 raft 算法来做一致性。不要问我为啥不做,问就是我懒,哈哈。 其实你的需求也可以通过数据库层面的多实例同步方案来做。比如国内部署一个数据库+agileconfig实例,美东部署一个数据库+agileconfig。然后国内的做主库,美东的做从库。

yangzhu6263736 commented 1 year ago

主从这个跨国同步稳定性不行吧。有可能同步到一半另一边就拉新了,那就麻烦了,我有业务做这个同步,阿里云的DTS中间还用了专线加速,有时也有比较大的 延时,做配置分发可能比较难。 我后面应该会做个同步脚本,从节点去拉主节点,尽可能保证从节点的原子性。 另外感觉你的这个节点意义不大,k8s上自动做节点的横向扩容很方便,而且成本也低。如果真有高可用需求的应该也不会用你的这个。 不过确实比较喜欢agile的这个UI逻辑,nacos的我看了又看,实在受不了那个交互。

kklldog commented 1 year ago

主从这个跨国同步稳定性不行吧。有可能同步到一半另一边就拉新了,那就麻烦了,我有业务做这个同步,阿里云的DTS中间还用了专线加速,有时也有比较大的 延时,做配置分发可能比较难。 我后面应该会做个同步脚本,从节点去拉主节点,尽可能保证从节点的原子性。 另外感觉你的这个节点意义不大,k8s上自动做节点的横向扩容很方便,而且成本也低。如果真有高可用需求的应该也不会用你的这个。 不过确实比较喜欢agile的这个UI逻辑,nacos的我看了又看,实在受不了那个交互。

以前我也做过类似的跨国同步,确实延时很难解决。如果数据库主从同步慢,自己写分布式来同步一样会面临同样的问题。要么提交巨慢,要么丢失一致性。 另外这个节点还是有点意义的,因为这个项目并非纯粹的无状态API,还有长连接,这是需要集中管理的。

kklldog commented 10 months ago

v-1.7.0-rc 已经支持OIDC的SSO方案,可以尝鲜。 开启方式 SSO:enabled=true OIDC配置: "SSO": { "enabled": false, "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", "authorizationEndpoint": "https://login.microsoftonline.com/7aa25791-9a8c-4be4-872f-289bfec8cddb/oauth2/v2.0/authorize", "userIdClaim": "sub", "userNameClaim": "name", "scope": "openid profile" } }

kklldog commented 9 months ago

tag:1.7.0