|
From: <pe...@us...> - 2003-12-17 23:53:53
|
Update of /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/auth
In directory sc8-pr-cvs1:/tmp/cvs-serv17154/src/java/org/neuclear/auth
Modified Files:
AuthenticationServlet.java
Log Message:
Added SignatureRequestServlet which is abstract and can be used for building SignatureRequests for various applications.
Index: AuthenticationServlet.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/auth/AuthenticationServlet.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** AuthenticationServlet.java 16 Dec 2003 15:04:59 -0000 1.11
--- AuthenticationServlet.java 17 Dec 2003 23:53:50 -0000 1.12
***************
*** 9,16 ****
--- 9,20 ----
import org.neuclear.id.builders.AuthenticationTicketBuilder;
import org.neuclear.id.builders.SignatureRequestBuilder;
+ import org.neuclear.id.builders.NamedObjectBuilder;
import org.neuclear.id.resolver.NSResolver;
+ import org.neuclear.id.Identity;
+ import org.neuclear.id.InvalidNamedObjectException;
import org.neuclear.xml.XMLException;
import org.neuclear.xml.xmlsec.XMLSecTools;
import org.neuclear.xml.xmlsec.XMLSecurityException;
+ import org.neuclear.signers.servlet.SignatureRequestServlet;
import javax.servlet.ServletConfig;
***************
*** 45,48 ****
--- 49,55 ----
$Id$
$Log$
+ Revision 1.12 2003/12/17 23:53:50 pelle
+ Added SignatureRequestServlet which is abstract and can be used for building SignatureRequests for various applications.
+
Revision 1.11 2003/12/16 15:04:59 pelle
Added SignedMessage contract for signing simple textual contracts.
***************
*** 108,195 ****
* Time: 2:04:31 PM
*/
! public class AuthenticationServlet extends HttpServlet {
! public final void init(final ServletConfig servletConfig) throws ServletException {
! super.init(servletConfig);
! serviceid = ServletTools.getInitParam("serviceid",servletConfig);
! title = ServletTools.getInitParam("title",servletConfig);
!
! try {
! signer = createSigner(servletConfig);
! } catch (NeuClearException e) {
! throw new ServletException(e);
! } catch (GeneralSecurityException e) {
! throw new ServletException(e);
! } catch (FileNotFoundException e) {
! throw new ServletException(e);
! }
!
! }
! protected Signer createSigner(ServletConfig config) throws FileNotFoundException, GeneralSecurityException, NeuClearException {
! return ServletSignerFactory.getInstance().createSigner(config);
! }
! protected final void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException {
!
! }
!
! protected final void doPost(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException {
! response.setHeader("Pragma", "no-cache");
! response.setDateHeader("Expires", 0);
! response.setContentType("text/html");
! final String siteurl = ServletTools.getAbsoluteURL(request, "/");
final String userns = request.getParameter("identity");
! if (Utility.isEmpty(userns)) {
! response.sendError(500, "No Identity");
! response.flushBuffer();
! return;
! }
! final Cookie usercookie = new Cookie("identity", userns);
! //usercookie.setSecure(true);
! usercookie.setMaxAge(2592000);
! response.addCookie(usercookie);
! final PrintWriter out = response.getWriter();
! out.write("\n ");
! out.write("<html>\n");
! out.write("<head>");
! out.write("<title>\n");
! out.write(title);
! out.write("</title>");
! out.write("</head>\n");
! out.write("<body>\n");
! out.write("<h3>contacting signing service...");
! out.write("</h3>\n");
! out.flush();
!
! try {
! final AuthenticationTicketBuilder authreq = new AuthenticationTicketBuilder(userns, serviceid, request.getRequestURI());
! final SignatureRequestBuilder sigreq = new SignatureRequestBuilder(serviceid, userns, authreq, "Login to Site");
! sigreq.sign(serviceid, signer);
! request.getSession(true).setAttribute("auth", userns);
! out.write("<form action=\"");
! out.print(NSResolver.resolveIdentity(userns).getSigner());
! out.write("\" method=\"POST\">\n ");
! out.write("<input name=\"neuclear-request\" value=\"");
! out.print(XMLSecTools.encodeElementBase64(sigreq));
! out.write("\" type=\"hidden\">\n ");
! out.write("<input name=\"endpoint\" value=\"");
! out.print(siteurl);
! out.write("\" type=\"hidden\"/>\n");
! // out.write("<input type=\"submit\">");
! out.write("</form>\n");
! out.write("<script language=\"javascript\">\n");
! out.write("<!--\n document.forms[0].submit();\n-->\n");
! out.write("</script>\n");
!
! } catch (NeuClearException e) {
! e.printStackTrace(out);
! } catch (XMLSecurityException e) {
! e.printStackTrace(out);
! } catch (XMLException e) {
! e.printStackTrace(out);
! }
}
- private Signer signer;
- private String serviceid;
- private String title;
}
--- 115,125 ----
* Time: 2:04:31 PM
*/
! public class AuthenticationServlet extends SignatureRequestServlet {
! protected NamedObjectBuilder createBuilder(final HttpServletRequest request) throws NeuClearException {
final String userns = request.getParameter("identity");
! request.getSession(true).setAttribute("auth", userns);
! return new AuthenticationTicketBuilder(userns, getServiceid(), request.getRequestURI());
}
}
|