package com.leanengine.server.auth;
import com.leanengine.server.LeanException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;
public class FacebookMockLogin {
protected static void showForm(HttpServletRequest request, HttpServletResponse response, boolean isMobile) throws ServletException, IOException {
PrintWriter writer = response.getWriter();
writer.append("<html>\n").append("<body>\n")
.append("<form method='get' style='text-align:center; font:14px sans-serif'>\n")
.append("<div style='width: 15em; margin: 1em auto; text-align: left; padding: 0 2em 1.25em 2em; background-color: #d6e9f8; border: 2px solid #67a7e3'>\n")
.append("<h3>Facebook mock login</h3>\n")
.append("<p style='padding: 0; margin: 0'>\n")
.append("<label for='email' style='width: 3em'>Email:</label>\n")
.append("<input style='width: 15em' type='text' name='email' id='email' value='test@example.com'>\n")
.append("</p>\n").append("<p style='margin: .5em 0 0 3em; font-size:12px'>\n")
.append("</p>\n").append("<input type='hidden' name='continue' value='error'>\n")
.append("<p style='margin-left: 3em;'>\n");
if (isMobile) writer.append("<input name='type' type='hidden' value='mobile'>\n");
writer.append("<input name='action' type='submit' value='Log In'>\n")
.append("<input name='action' type='submit' value='Log Out'>\n")
.append("</p>\n")
.append("</div>\n")
.append("</form>\n")
.append("</body>\n")
.append("</html>");
writer.close();
}
protected static void login(HttpServletRequest request, HttpServletResponse response,
String email, Scheme scheme, String redirectUrl, String errorUrl) throws IOException {
// authenticate with Facebook Graph OAuth API
AuthToken lean_token = AuthService.createMockFacebookAccount(email);
// save token in session
HttpSession session = request.getSession();
session.setAttribute("lean_token", lean_token.token);
//send lean_token back to browser
try {
response.sendRedirect(scheme.getUrl(lean_token.token, redirectUrl));
} catch (LeanException e) {
response.sendRedirect(scheme.getErrorUrl(e, errorUrl));
}
}
}