我在这里和其他文章上已经阅读了很多相关内容。首先让我解释一下我的情况。
假设我有以下REST后端:
GET /user
返回JSON中的所有用户。 (无需登录)
POST /user
注册新用户。 (无需登录)
DELETE /user
删除用户。 (您执行需要登录)
POST /login
发布登录凭据并在成功验证时返回200 OK。此外,这会创建一个session
username
。
DELETE /login
注销,这会删除会话。
对于用户身份验证和角色,我使用Deadbolt-2,例如,当首先调用DELETE /user
时,将查看session
以确定您是否已登录,然后username
用于确定您是否拥有正确的权限。
有效。我的问题不是这种授权/认证。但是有以下几点:
我想以某种方式保护“公共”API调用,例如:GET /user
,因此只有 我认可的 的前端应用才能访问它们。
我已经阅读了很多关于api-keys和HMAC以及oAuth的内容。但在我看来,他们谈论的是第一个场景,而不是第二个场景。那么在我的情况下我该怎么做呢?
感谢您的时间。
答案 0 :(得分:16)
您可能会发现Securing Single Page Apps and REST Services这篇James Ward文章很有用,它是使用Play Framework,Java,jQuery和CoffeeScript构建的。