Comments (8)
感谢你的反馈, 我抽个时间,加个参数控制一下这部分内容的返回.
from wolf.
谢谢~期待新版本
from wolf.
@snowood-orz 我仔细看了一下, 这两个地址,返回的信息, 没有包含路径信息呢. 只会返回这个用户拥有的角色信息,权限信息及应用信息. 而这些基本上对于agent都是有用处的.
而且这两个接口都需要授权才能访问, 就算是有敏感信息, 也只有当前用户能看到. 你不可能看到我的信息, 我也不可能看到你的信息,所以也不存在安全问题.
还有一点就是, 这两个接口都是给agent使用的, 而agent通常不是在客户端. agent通常是在网关/服务端调用wolf. 普通用户也不可能接触到. 不建议由前端直接调用这两个接口进行权限的处理, 这样会有安全问题.
from wolf.
是这样的,其实我这边是使用 apisix 的 wolf-rbac 插件来使用的,前端通过添加 token 对使用 wolf-rbac 的后端 API 接口 进行权限验证,apisix 这边调用的是 /wolf/rbac/ 下的几个接口来进行权限验证的,但提供的接口确实不多,像 oauth 的 login_status 接口,refreshToken 接口这边都没有。
所以不知道是不是我的使用方法问题(这块确实不是非常熟悉),现在就是有两个问题,确实提供的接口比较少,所以想通过调用 /wolf/rbac/user_info 来获取当前的登录状态(就会在前端给使用者看到敏感信息,之前讨论的那个问题),以及想有一个接口来实现 refreshtoken
可否给一点建议
from wolf.
@snowood-orz 通过前端调用rbac接口, 进行权限验证是不合适的. 实际上, 任何权限系统的验证/控制工作, 都不应该在前端完成. 因为这种方式有非常大的安全性问题. 前端的js,比较容易被修改, 用户可以很容易修改成对所有操作都有权限.
正确的作法, 权限检查操作应该在后台进行. 就是在你要进行操作的业务接口上进行. 对于使用wolf来说, 通常是使用wolf agent 在nginx或apisix上实现对接口的权限控制.
登陆状态, 确实是从/wolf/rbac/user_info获取的. 这个本身没什么问题. 但是用户自己有哪些权限应该是不敏感的呀. user_info里面应该不包含URL信息, 只包含权限信息.
from wolf.
可能这里没表达清楚,并不是在前端进行权限验证和控制,是提供 wolf 的校验API 给前端,实际校验还是在后端。
apisix 的详细使用说明
刚刚再仔细看了一下 /wolf/rbac/user_info 确实只有权限名称信息,没有 URL 信息,确实问题不大,谢谢~
另外apisix 这种使用情况下是没有 refreshtoken 接口的,是希望登录之后通过 /wolf/oauth2/authorize 申请 oauth 的方式使用吗?
from wolf.
默认网页登陆方式, 确实是没有token刷新的方式的. 网页方式登陆, 一般token过期重新登录即可.
一般情况下, 可以不使用oauth2方式登陆. oauth2方式实现流程要稍微复杂些.
from wolf.
嗯嗯,确实感觉 wolf 更推荐的还是 oauth 的方式
apisix 这边使用的是 client 方式,提供给 apisix 这边的接口相对就少了一点
特别希望哪天 client 方式能提供更丰富的接口也能方便 apisix 的调用
from wolf.
Related Issues (20)
- wolf console run npm install given error HOT 1
- limit 256 HOT 2
- External directory (e.g. OpenLDAP/AD/JumpCloud) integration? HOT 1
- 是否考虑支持角色之间的权限继承? HOT 1
- restapi HOT 2
- restapi-角色权限 HOT 3
- wolf-console-limit HOT 3
- 能支持多租户吗 HOT 1
- 资源或者权限能否限制到host? HOT 3
- how about the stress resistance when used with apisix gateway HOT 2
- 启用redis cache连接失败 HOT 1
- auth_type可否扩展签名认证方式
- user role assignment on wolf dashboard? HOT 1
- 不启动redis cache的情况下,wolf-cache被指向redis, 登录接口超时 HOT 3
- 管理接口能提供按用户名获取用户信息的功能么? HOT 1
- The dashboard login need add human vaild ban the bot HOT 3
- wolf-server connect redis error HOT 2
- 问题:是否能只用API权限验证功能,而不用wolf的用户登录功能 HOT 1
- wolf-rbac 作为 apisix插件,如何设置默认TOKEN有效期
- How to allow/disallow routes according to role in apisix HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wolf.