@At("/user/login/app")
@Ok("ajax")
public Object appLogin(@Param("appId") String appId, HttpSession session)
throws Exception {
if (appId != null) {
App app = dao.findById(App.class, appId);
if (app != null) {
if (!app.isActive())
return Ajax.fail().setData("app isn't active!");
String value = UUID.randomUUID().toString() + "_"
+ Math.random();
session.setAttribute("app.token", value);
MessageDigest sha1 = MessageDigest.getInstance("sha1");
sha1.update(value.getBytes());
sha1.update(app.getKey().getBytes());
session.setAttribute("app.token", getHexString(sha1.digest()));
session.setAttribute("app.id", appId);
return Ajax.ok().setData(value);
}
}