nacos-group / r-nacos

Nacos server re-implemented in Rust.
https://r-nacos.github.io/docs/
Apache License 2.0
807 stars 84 forks source link

feat: 增加验证码的开关 #113

Closed moyu-x closed 2 months ago

moyu-x commented 2 months ago
  1. 增加一个验证码的开关,默认为启用,关闭的时候可暂时用于使用 openapi 对 console 接口进行管理
  2. login 接口返回的时候在响应体中的 data 字段下返回 token,方便使用接口进行对接
CLAassistant commented 2 months ago

CLA assistant check
All committers have signed the CLA.

heqingpan commented 2 months ago

刚才看了一遍代码,部分改动需求对应的控制台前端一起调整,不然关闭确证码后控制台页面就无法正常登录。

你加这个开关支持关闭控制台的验证码,只是为了方便使用接口登陆控制台,然后直接使用控制台的接口进一步操作是吗?

目前r-nacos也是支持标准nacos openapi(支持大部分接口),如果想通过接口操作的话,是不是直接走标准的openapi比较合适?

是不是少了哪些你们需求的接口?如果有需要后面可以补充。 甚至可以考虑通过开关控制把部分控制台接口同时加到openapi 8848端口上,同时使用openapi的鉴权。(目前通过开启RNACOS_ENABLE_NO_AUTH_CONSOLE已经支持把控制台接口同时加到openapi 8848端口上,但这时不开启鉴权)

如果可以,还是希望想用接口操作的,可以走openapi方式;它有自己独立的鉴权,且可以不对外网暴露。


如果只是为了体验,不想要验证码的话,这部分功能有在计划中。后续可能会按前几次不用校验验证码,密码输错几次后再提升安全等级,启用验证。

moyu-x commented 2 months ago

对以上问题进行补充:

  1. 目前情况是通过8848这个端口去调用nacos openapi的新建namespace接口提示404,目前只能通过10848中console的接口进行解决
  2. 看到你在其他issue里面提到8848只对sdk的接口进行兼容,新建namespace不是sdk中使用的接口
  3. 用8848这个端口login登录后获取的access_token,无法在10848中进行鉴权使用,两边不共通
  4. 测试过使用RNACOS_ENABLE_NO_AUTH_CONSOLE设置为true,但是新建namespace接口还是提示404,该用rnacos开头的路径也提示错误,目前我也在查看这个原因
heqingpan commented 2 months ago

如果不影响现有的功能可以先支持这个模式,之后再加上namespace相关接口的兼容。

这部分虽然非sdk接口,但namespace的模型和nacos一致,也是比较好兼容的。

moyu-x commented 2 months ago

目前这个pr中提出的问题已经修改完成,增加namespace的后面我在提新的pr进行增加

heqingpan commented 2 months ago

收到,明天有个发布窗口,验证没问题的话会再明天发布这部分内容。

heqingpan commented 2 months ago

验证了一遍,关闭配置后验证码校验开关RNACOS_CONSOLE_ENABLE_CAPTCHA=false 后,控制台登陆失败。

我这边再调整下。

moyu-x commented 2 months ago

这个有点尴尬了😂,当时测试同事和我说登录没问题就没有再去界面复测了,我们这通过接口变更的场景比较多

heqingpan commented 2 months ago

没关系,我调整之后已解决😀。