return this.sessionCheck(req, res, ctx, undefined, false);
}
+
+ /**
+ * Require auth for an API endpoint.
+ * Check for valid local identifier in session, or Authentication header.
+ * Prompts for Basic auth if not valid.
+ * @param {http.ClientRequest} req
+ * @param {http.ServerResponse} res
+ * @param {Object} ctx
+ * @param {Boolean} sessionAlsoValid
+ */
+ async apiRequiredLocal(req, res, ctx, sessionAlsoValid = true) {
+ const validSession = sessionAlsoValid && this.sessionCheck(req, res, ctx, undefined, false, false);
+ const authorizationHeader = req.getHeader(Enum.Header.Authorization);
+ const validAuthorization = authorizationHeader && this.isValidAuthorization(authorizationHeader, ctx);
+ if (validSession || validAuthorization) {
+ return true;
+ }
+ this.requestBasic(res);
+ }
+
}
module.exports = Authenticator;
\ No newline at end of file