如何保护在playframework中开发的REST api

Jim*_*Jim 15 security api rest playframework

我在这里和其他文章上已经阅读了很多相关内容.首先让我解释一下我的情况.

假设我有以下REST后端:

GET /user返回JSON中的所有用户.(无需登录)
POST /user注册新用户.(无需登录)
DELETE /user删除用户.(你必须登录)

POST /login发布登录凭据并在成功验证时返回200 OK.此外这将创建一个sessionusername.

DELETE /login 注销,这会删除会话.

对于用户身份验证和角色,我使用Deadbolt-2,例如,当DELETE /user首先调用时,session将查看是否已登录,然后username用于确定您是否具有正确的权限.

有效.我的问题不是这种授权/认证.但是有以下几点:

我希望保护"公共"API调用,例如:GET /user在某种程度上,只有经过我批准的前端应用程序才能访问它们.

我已经阅读了很多关于api-keys和HMAC以及oAuth的内容.但在我看来,他们谈论的是第一个场景,而不是第二个场景.那么在我的情况下我该如何解决这个问题呢?

感谢您的时间.

a d*_*ren 16

您可能会发现James Ward的这篇" 保护单页应用程序和REST服务"文章非常有用,它使用Play Framework,Java,jQuery和CoffeeScript构建.

参考资料来源:https://github.com/jamesward/play-rest-security/