package auth.impl.callbacks; import play.data.DynamicForm; import play.data.Form; import play.mvc.Http; import play.mvc.Http.Context; import auth.models.UserToken; public class HttpUserPwdCallback extends HeadlessCallback { public String username; public String password; public String tkn; public static final String REQ_PARM_USERNAME = "username"; public static final String REQ_PARM_PASSWORD = "password"; public static final String REQ_PARM_TOKEN = "token"; @Override public void process() { Context.current.set(getOriginalContext()); Http.Request req = getOriginalRequest(); if (req.method().compareToIgnoreCase("get") == 0) { if (req.queryString().get(REQ_PARM_TOKEN) != null) { tkn = req.queryString().get(REQ_PARM_TOKEN)[0]; UserToken ut = UserToken.createUserToken(tkn, req); if (ut != null) { username = ut.name; password = ut.password; return; } } if (req.queryString().get(REQ_PARM_USERNAME) != null) { username = req.queryString().get(REQ_PARM_USERNAME)[0]; } if (req.queryString().get(REQ_PARM_PASSWORD) != null) { password = req.queryString().get(REQ_PARM_PASSWORD)[0]; } } else if (req.method().compareToIgnoreCase("post") == 0) { DynamicForm frm = Form.form().bindFromRequest(); tkn = frm.get(REQ_PARM_TOKEN); if (tkn != null) { UserToken ut = UserToken.createUserToken(tkn, req); if (ut != null) { username = ut.name; password = ut.password; return; } } username = frm.get(REQ_PARM_USERNAME); password = frm.get(REQ_PARM_PASSWORD); } } }