我一直在寻找一个明确的答案,但仍然最终会问它。
我正在尝试设计一个具有Java / JBoss RESTful后端的网站,并将角度设置为前端(javascript和静态页面)。因为我想为移动客户端和第三方客户端访问打开灵活性,所以我在项目中实现了OAuth2.0。
在阅读了如此多的关于如何进行“用户”(非客户端)身份验证和授权的文章和主题后,我变得越来越困惑。如果我错了请纠正我,我的理解是OAuth用在客户端和服务器之间,即我的前端和后端服务器之间,或者我的后端服务器的第三方客户端,因为他们需要共享客户端ID等
然后从用户的角度来看,当他/她登录网站时,我们是否还需要HMAC或其他会话令牌来验证/授权用户以及OAuth令牌来验证请求?
或者我应该使用OAuth框架并发送一个accessToken作为密码授予?但规范说,密码授权应仅用于可信方。
对于REST服务,例如,只有实体的所有者可以在路径/ user / {id}上更新或删除,我该如何强制执行?在这种情况下,基于角色的授权不适用。我目前正在使用OAuth的过滤器,并且不确定我是否应该这样做,并在“会话ID”(如果我需要使用它)与现有用户ID之间保持一个映射,并找出用户是否在运行在另一个用户的实体上,服务器应该返回401?所有这些检查都需要手动完成吗?
非常感谢任何评论。非常感谢。