                     browsers.create app, queryString, user, (err, bserver) =>
                         @redirect(res, "#{mountPointNoSlash}/browsers/#{bserver.id}/index#{queryString}")
 
-            @server.get browserRoute, verifyAuthentication, authorize, browserRouteHandler
-
-            @server.get resourceProxyRoute, verifyAuthentication, resourceProxyRouteHandler
+            @server.get browserRoute, isAuthenticated, authorize, browserRouteHandler
+            @server.get resourceProxyRoute, isAuthenticated, resourceProxyRouteHandler
+
+        else if /authenticate$/.test(mountPointNoSlash)
+            @server.get mountPoint, isNotAuthenticated, (req, res) =>
+                id = req.session.browserID
+                queryString = @constructQueryString(req)
+                if !id? || !browsers.find(id)
+                  bserver = browsers.create(app, queryString)
+                  # Makes the browser stick to a particular client to prevent creation of too many browsers
+                  id = req.session.browserID = bserver.id
+                  @redirect(res, "#{mountPointNoSlash}/browsers/#{id}/index#{queryString}")
+
+            @server.get browserRoute, isNotAuthenticated, browserRouteHandler
+            @server.get resourceProxyRoute, isNotAuthenticated, resourceProxyRouteHandler
 
         else
             @server.get mountPoint, (req, res) =>

        # a browser from a URL sent via POST).

        if /landing_page$/.test(mountPointNoSlash)
            @server.get mountPoint, verifyAuthentication, (req, res) =>
                components  = mountPointNoSlash.split("/")
                index       = 1
                mp          = ""
                while components[index] isnt "landing_page" and index < components.length
                    mp += "/" + components[index++]
                user = @findAppUser(req, mp)
                queryString = @constructQueryString(req)
                browsers.create app, queryString, user, (err, bserver) =>
                    throw err if err
                    @redirect(res, "#{mountPointNoSlash}/browsers/#{bserver.id}/index#{queryString}")

            @server.get browserRoute, verifyAuthentication, browserRouteHandler

            @server.get resourceProxyRoute, verifyAuthentication, resourceProxyRouteHandler

        else if app.authenticationInterface


        browserRoute = "#{mountPointNoSlash}/browsers/:browserID/index"

        # Middleware that protects access to browsers
        isAuthenticated = (req, res, next) =>
            components  = mountPointNoSlash.split("/")
            index       = 1
            mp          = ""
