feat: Passwordless cross-device authentication

- Arkitektur: docs/auth/passwordless-architecture.md
- Backend: iom/quixzoom-auth-service/ (FastAPI + Redis)
- Webb: quixzoom-market-pages/se/login/ (QR-kod + polling)
- App: iom/quixzoom-app/src/features/auth/ (push + deep links)

Flöde: QR-kod → app-godkännande → webb-inloggad
This commit is contained in:
Bernt
2026-07-07 07:11:50 +00:00
parent 4aa984ad74
commit 6989a98d75
61843 changed files with 5491611 additions and 872231 deletions
+32
View File
@@ -0,0 +1,32 @@
/** Copyright 2015 Gregory Langlais. See LICENSE.txt. */
'use strict';
const Assertion = require('./assertion');
/**
* Construct cookies assertion (function)
*
* @param {null|string|string[]} [secret]
* @param {function(req, res)[]} [asserts] ran within returned assertion function
* @returns {function} assertion
* @constructor
*/
function ExpectCookies(secret, asserts) {
return Assertion(secret, asserts);
}
// build ExpectCookies proxy methods
const assertion = Assertion();
const methods = Object.getOwnPropertyNames(assertion);
methods.forEach(function(method) {
if (typeof assertion[method] === 'function' && typeof Function[method] === 'undefined') {
ExpectCookies[method] = function() {
const newAssertion = Assertion();
return newAssertion[method].apply(newAssertion, arguments);
};
}
});
module.exports = ExpectCookies;