CheckLoginSession.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. const API = require("../../lib/API");
  2. const { BaseStdResponse } = require("../../BaseStdResponse");
  3. const AccessControl = require("../../lib/AccessControl");
  4. // 检查session
  5. class CheckLoginSession extends API {
  6. constructor() {
  7. super();
  8. this.setMethod("GET");
  9. this.setPath("/User/CheckLoginSession");
  10. }
  11. async onRequest(data, res) {
  12. this.setAllowCORS(res);
  13. let {
  14. uuid,
  15. session
  16. } = data;
  17. // 检查必需的参数是否缺失
  18. if ([uuid, session].some(value => value === '' || value === null || value === undefined)) {
  19. res.json({
  20. ...BaseStdResponse.MISSING_PARAMETER,
  21. endpoint: 1513123
  22. });
  23. return;
  24. }
  25. // 检查 session 是否有效
  26. if (!await AccessControl.checkSession(uuid, session)) {
  27. res.json({
  28. ...BaseStdResponse.ACCESS_DENIED,
  29. endpoint: 48153145
  30. });
  31. return;
  32. }
  33. res.json({
  34. ...BaseStdResponse.OK
  35. });
  36. }
  37. }
  38. module.exports.CheckLoginSession = CheckLoginSession;