我想将用户身份验证添加到我使用基于Java的Play创建的restful api中!框架。
我目前使用“安全模块”保护基于Web(浏览器访问)的应用程序详情:http://www.playframework.org/documentation/1.1/secure
当通过http请求直接调用restful api时,我可以使用相同的模块进行身份验证吗?
如果没有,我将非常感谢教程/模块的一些指针,用于集成另一个auth方法(希望能够应用于浏览器和http api访问的Web应用程序访问)。
PS如果可能的话,尽量避免使用HTTPS和摘要。
答案 0 :(得分:1)
如果您已经在使用用户名/密码机制,那么为API调用添加http基本身份验证应该不难。您可以创建一个类似于:
的拦截器public class ApiInterceptor extends Controller
{
@Before
static void checkAccess() {
if ( request.user == null || request.password == null) {
unauthorized();
}
boolean canAccess = .... ;// check user and password here
if ( !canAccess ) {
unauthorized();
}
}
}
但这意味着您需要使用SSL,因为用户名和密码以明文形式通过http。