Git Product home page Git Product logo

Comments (8)

iGeeky avatar iGeeky commented on May 26, 2024

感谢你的反馈, 我抽个时间,加个参数控制一下这部分内容的返回.

from wolf.

snowood-orz avatar snowood-orz commented on May 26, 2024

谢谢~期待新版本

from wolf.

iGeeky avatar iGeeky commented on May 26, 2024

@snowood-orz 我仔细看了一下, 这两个地址,返回的信息, 没有包含路径信息呢. 只会返回这个用户拥有的角色信息,权限信息及应用信息. 而这些基本上对于agent都是有用处的.
而且这两个接口都需要授权才能访问, 就算是有敏感信息, 也只有当前用户能看到. 你不可能看到我的信息, 我也不可能看到你的信息,所以也不存在安全问题.
还有一点就是, 这两个接口都是给agent使用的, 而agent通常不是在客户端. agent通常是在网关/服务端调用wolf. 普通用户也不可能接触到. 不建议由前端直接调用这两个接口进行权限的处理, 这样会有安全问题.

from wolf.

snowood-orz avatar snowood-orz commented on May 26, 2024

是这样的,其实我这边是使用 apisix 的 wolf-rbac 插件来使用的,前端通过添加 token 对使用 wolf-rbac 的后端 API 接口 进行权限验证,apisix 这边调用的是 /wolf/rbac/ 下的几个接口来进行权限验证的,但提供的接口确实不多,像 oauth 的 login_status 接口,refreshToken 接口这边都没有。
所以不知道是不是我的使用方法问题(这块确实不是非常熟悉),现在就是有两个问题,确实提供的接口比较少,所以想通过调用 /wolf/rbac/user_info 来获取当前的登录状态(就会在前端给使用者看到敏感信息,之前讨论的那个问题),以及想有一个接口来实现 refreshtoken
可否给一点建议

from wolf.

iGeeky avatar iGeeky commented on May 26, 2024

@snowood-orz 通过前端调用rbac接口, 进行权限验证是不合适的. 实际上, 任何权限系统的验证/控制工作, 都不应该在前端完成. 因为这种方式有非常大的安全性问题. 前端的js,比较容易被修改, 用户可以很容易修改成对所有操作都有权限.
正确的作法, 权限检查操作应该在后台进行. 就是在你要进行操作的业务接口上进行. 对于使用wolf来说, 通常是使用wolf agent 在nginx或apisix上实现对接口的权限控制.
登陆状态, 确实是从/wolf/rbac/user_info获取的. 这个本身没什么问题. 但是用户自己有哪些权限应该是不敏感的呀. user_info里面应该不包含URL信息, 只包含权限信息.

from wolf.

snowood-orz avatar snowood-orz commented on May 26, 2024

可能这里没表达清楚,并不是在前端进行权限验证和控制,是提供 wolf 的校验API 给前端,实际校验还是在后端。
apisix 的详细使用说明

刚刚再仔细看了一下 /wolf/rbac/user_info 确实只有权限名称信息,没有 URL 信息,确实问题不大,谢谢~

另外apisix 这种使用情况下是没有 refreshtoken 接口的,是希望登录之后通过 /wolf/oauth2/authorize 申请 oauth 的方式使用吗?

from wolf.

iGeeky avatar iGeeky commented on May 26, 2024

默认网页登陆方式, 确实是没有token刷新的方式的. 网页方式登陆, 一般token过期重新登录即可.
一般情况下, 可以不使用oauth2方式登陆. oauth2方式实现流程要稍微复杂些.

from wolf.

snowood-orz avatar snowood-orz commented on May 26, 2024

嗯嗯,确实感觉 wolf 更推荐的还是 oauth 的方式
apisix 这边使用的是 client 方式,提供给 apisix 这边的接口相对就少了一点
特别希望哪天 client 方式能提供更丰富的接口也能方便 apisix 的调用

from wolf.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.