eryajf / go-ldap-admin

🌉 基于Go+Vue实现的openLDAP后台管理项目
http://ldapdoc.eryajf.net
Apache License 2.0
1.51k stars 256 forks source link

🙋 问题交流。。。 | [Question] Some question... #355

Closed zbjdonald closed 2 months ago

zbjdonald commented 2 months ago

请问 config.yml 的 jwt 部分如何配置,swagger 上面的 api 使用 postman 调用 /base/login 时报 JWT 认证失败,无法解密,私钥不正确。我想直接用 go-ldap-admin 里面的鉴权,这样别的项目不用写USER管理了,谢谢大佬。

eryajf commented 2 months ago

您好 @zbjdonald👋,我已收到您的反馈,我将安排时间考虑您提交的信息并进行回复。-- 这条信息是由自动回复的机器人发出的。

Hello @zbjdonald. I have received your feedback, and I will arrange time to consider the information you submitted and reply. -- This message is sent by an automatic reply robot.

eryajf commented 2 months ago

请问 config.yml 的 jwt 部分如何配置,swagger 上面的 api 使用 postman 调用 /base/login 时报 JWT 认证失败,无法解密,私钥不正确。我想直接用 go-ldap-admin 里面的鉴权,这样别的项目不用写USER管理了,谢谢大佬。

这个地方上次swagger功能合并之后,我还没完善文档。你登陆的时候,密码直接使用123456是无法校验通过的,因为前端请求的时候,会先把明文加密,把密文传递给后端。

暂时有个办法是这样的,你去到管理后台,打开页面检查,然后用明文登陆一下,就可以看到对应的密文了,然后再回到swagger上登陆,应该就没问题了:

image

登陆之后,能拿到认证信息,可参考我这里之前的介绍,配置到postman里,就能请求其他接口了:https://github.com/gnimli/go-web-mini/issues/4#issuecomment-1085561502

zbjdonald commented 2 months ago

所以这个接口,外面不能直接调用是吧,比如别的项目直接调这个 login。

eryajf commented 2 months ago

所以这个接口,外面不能直接调用是吧,比如别的项目直接调这个 login。

能调,参数像上边那样就可以了。主要是password需要传递加密后的密文,而非明文

zbjdonald commented 2 months ago

所以就是调用的人得知道自己的密码的密文才行,那加密动作要在调用那个人那完成是吧。

eryajf commented 2 months ago

一般来说加密应该在客户端完成,不过你也可以在后端透出一个加密接口,让他调用login之前调用下加密就好了。

zbjdonald commented 2 months ago

谢谢大佬,那我还是先用ldap的接口,这个当管理工具用了哈哈