|
|
@@ -132,7 +132,34 @@ module.exports.match = function(url) {
|
|
|
};
|
|
|
|
|
|
module.exports.exec = function(req, res, srv) {
|
|
|
- if (!req.urlObj.urlParts[1]) {
|
|
|
+ if (req.urlObj.queryTokens["phoneAccess"]) {
|
|
|
+ var self = this;
|
|
|
+ accountManager.fromPhoneAccess(req.urlObj.queryTokens["phoneAccess"], (acc) => {
|
|
|
+ if (acc) {
|
|
|
+ req.account = acc;
|
|
|
+ req.session = sessionManager.lazyForRequest(req);
|
|
|
+ req.session.setAccountId(req.reqT, acc.id);
|
|
|
+ res.writeHeader("302", {
|
|
|
+ Location: config.rootUrl,
|
|
|
+ "Set-Cookie": "sessID="+req.session.sessId +'; Path=/'
|
|
|
+ });
|
|
|
+ sessionManager.saveSession(req.session);
|
|
|
+ } else {
|
|
|
+ res.writeHeader("302", {
|
|
|
+ Location: "login"
|
|
|
+ });
|
|
|
+ }
|
|
|
+ res.end();
|
|
|
+ });
|
|
|
+ } else if (!req.urlObj.urlParts[1]) {
|
|
|
+ if (req.urlObj.queryTokens["native"]) {
|
|
|
+ req.session = sessionManager.lazyForRequest(req);
|
|
|
+ req.session.isNative = true;
|
|
|
+ sessionManager.saveSession(req.session);
|
|
|
+ res.writeHeader("200", {
|
|
|
+ "Set-Cookie": "sessID="+req.session.sessId +'; Path=/'
|
|
|
+ });
|
|
|
+ }
|
|
|
res.end(makeLoginPage());
|
|
|
} else {
|
|
|
checkTokens(req.urlObj.urlParts[1], req, (account) => {
|
|
|
@@ -140,10 +167,19 @@ module.exports.exec = function(req, res, srv) {
|
|
|
req.account = account;
|
|
|
req.session = sessionManager.lazyForRequest(req);
|
|
|
req.session.setAccountId(req.reqT, account.id);
|
|
|
- res.writeHeader("302", {
|
|
|
- Location: config.rootUrl,
|
|
|
- "Set-Cookie": "sessID="+req.session.sessId +'; Path=/'
|
|
|
- });
|
|
|
+ if (req.session.isNative) {
|
|
|
+ req.session.isNative = false;
|
|
|
+ res.writeHeader("302", {
|
|
|
+ Location: "intent:#Intent;scheme=mimou://open?token=" +account.generatePermanentPhoneAccess() +"&;package=com.knacki.mimou;end",
|
|
|
+ "Set-Cookie": "sessID="+req.session.sessId +'; Path=/'
|
|
|
+ });
|
|
|
+ accountManager.save(account);
|
|
|
+ } else {
|
|
|
+ res.writeHeader("302", {
|
|
|
+ Location: config.rootUrl,
|
|
|
+ "Set-Cookie": "sessID="+req.session.sessId +'; Path=/'
|
|
|
+ });
|
|
|
+ }
|
|
|
sessionManager.saveSession(req.session);
|
|
|
res.end();
|
|
|
} else if (account === null) {
|