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
+20
View File
@@ -0,0 +1,20 @@
var colorspace = require('@so-ric/colorspace');
var kuler = require('kuler');
/**
* Prefix the messages with a colored namespace.
*
* @param {Array} args The messages array that is getting written.
* @param {Object} options Options for diagnostics.
* @returns {Array} Altered messages array.
* @public
*/
module.exports = function ansiModifier(args, options) {
var namespace = options.namespace;
var ansi = options.colors !== false
? kuler(namespace +':', colorspace(namespace))
: namespace +':';
args[0] = ansi +' '+ args[0];
return args;
};
+32
View File
@@ -0,0 +1,32 @@
var colorspace = require('@so-ric/colorspace');
/**
* Prefix the messages with a colored namespace.
*
* @param {Array} messages The messages array that is getting written.
* @param {Object} options Options for diagnostics.
* @returns {Array} Altered messages array.
* @public
*/
module.exports = function colorNamespace(args, options) {
var namespace = options.namespace;
if (options.colors === false) {
args[0] = namespace +': '+ args[0];
return args;
}
var color = colorspace(namespace);
//
// The console API supports a special %c formatter in browsers. This is used
// to style console messages with any CSS styling, in our case we want to
// use colorize the namespace for clarity. As these are formatters, and
// we need to inject our CSS string as second messages argument so it
// gets picked up correctly.
//
args[0] = '%c'+ namespace +':%c '+ args[0];
args.splice(1, 0, 'color:'+ color, 'color:inherit');
return args;
};