Class RFC8628AuthenticationServer

  • All Implemented Interfaces:
    edu.uiuc.ncsa.security.core.Logable, Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

    public class RFC8628AuthenticationServer
    extends EnvServlet
    This does the authentication for the device flow.

    Created by Jeff Gaynor
    on 2/12/21 at 6:19 AM

    See Also:
    Serialized Form
    • Field Detail

      • DEBUG_LOGIN

        protected boolean DEBUG_LOGIN
      • CONSENT_PAGE

        public static String CONSENT_PAGE
    • Constructor Detail

      • RFC8628AuthenticationServer

        public RFC8628AuthenticationServer()
    • Method Detail

      • getInitialPage

        protected String getInitialPage()
      • getRemoteUserInitialPage

        protected String getRemoteUserInitialPage()
      • getOkPage

        protected String getOkPage()
      • getFailPage

        protected String getFailPage()
      • storeUpdates

        public void storeUpdates()
                          throws IOException,
                                 SQLException
        Description copied from class: EnvServlet
        This will be invoked at init before anything else and should include code to seamlessly upgrade stores from earlier versions. For instance, if a new column needs to be added to a table. This pre-supposes that the current user has the correct permissions to alter the table, btw. This also updates the internal flag EnvServlet.storeUpdatesDone which should be checks in overrides. If you override this method and call super, let super manage this flag. If it is true, do not execute your method.
        Specified by:
        storeUpdates in class EnvServlet
        Throws:
        IOException
        SQLException
      • getServiceEnvironment

        protected OA2SE getServiceEnvironment()
      • prepare

        public void prepare​(edu.uiuc.ncsa.security.servlet.PresentableState state)
                     throws Throwable
        Throws:
        Throwable
      • doIt

        protected void doIt​(javax.servlet.http.HttpServletRequest request,
                            javax.servlet.http.HttpServletResponse response)
                     throws Throwable
        Specified by:
        doIt in class edu.uiuc.ncsa.security.servlet.AbstractServlet
        Throws:
        Throwable
      • processRequest

        protected void processRequest​(javax.servlet.http.HttpServletRequest request,
                                      RFC8628AuthenticationServer.PendingState pendingState,
                                      boolean checkCount)
                               throws Throwable
        This is where the user's log in is actually processed and the values they sent are checked. It then forwards the user browser to the consent page, so if you do anything with the servlet request, you will get an error since it has been committed.
        Parameters:
        request -
        pendingState -
        checkCount -
        Throws:
        Throwable
      • present

        public void present​(edu.uiuc.ncsa.security.servlet.PresentableState state)
                     throws Throwable
        Throws:
        Throwable
      • cleanupPending

        protected void cleanupPending()
      • setClientConsentAttributes

        protected void setClientConsentAttributes​(javax.servlet.http.HttpServletRequest request,
                                                  OA2ServiceTransaction t)
      • getConsentPage

        protected String getConsentPage()