不使用 passport-local 如何进行鉴权?
- Node Version: 8.11.3
- Egg Version: 2.9.1
- Plugin Name: egg-passport-local
- Plugin Version: ^1.2.1
- Platform:mac os
- Mini Showcase Repository:
因为写的是 api 接口,所以没有使用 egg-passport-local
进行用户账号密码的校验,也没有使用它来进行鉴权。
目前的问题是:
- 如果使用了
egg-passport-local
进行鉴权的话,目前无法返回正确的错误信息给前端。 - 如果不使用该插件,无法操作
ctx.user
Cannot set property user of #<Object> which has only a getter
针对这俩问题:
- 能否使用
egg-passport-local
进行鉴权,并且可以手动处理具体的错误信息? - 能否不使用
egg-passport-local
鉴权,但是依旧可以往ctx.user
中写数据?
9 回复
context 扩展不就得了,自己看下源码啊。
看egg-cnode源码去
直接自己做 post 认证即可。 passport.js 本来就设计为 oauth 的,硬粘过来总感觉不好
用egg-jwt (json web token) 可好?
@hankewins 目前的处理办法和 cnode 的差不多,只是 cnode 是通过 token 去获取用户,我是通过 cookie。
@atian25 现在不用 user 字段,用其他字段标识。
@chengnuo jwt 没用过。不知道是否有坑。
最近做项目, 做到登录这一块, 也在研究跟题主一样的问题 最后选择了jwt