Проблема преобразования очень длинного токена в qr в angular 7 - PullRequest
0 голосов
/ 30 января 2020

Я использую библиотеку Angularx-qrcode (проект с angular 7), чтобы иметь возможность создавать qr-код, с помощью которого я собираюсь сделать аутентификацию моего мобильного приложения (как в WhatsApp Web), проблема в длине из текста alphanumeri c, который я должен использовать, он состоит из базового объекта из 4 значений, у которого есть поле, которое является токеном, идущим от серверной части к внешнему интерфейсу, и которое я должен добавить к тексту ( пожалуйста, просмотрите ниже прилагаемый пример как базового объекта, так и моего расшифрованного токена).

При преобразовании этого в qr у меня есть код с множеством точек, которые, я сомневаюсь, могут быть прочитаны телефоном, но если это у меня нет подходящей камеры, тогда я должен помочь мне определить, какую стратегию использовать для того, чтобы иметь одинаковые данные, но это не настолько обширный текст, я как-то думал сжать с некоторым дополнением и уменьшить количество символов, что вы думаете? Какой еще трюк я могу использовать?

Полный объект

name = {
  base: "http://localhost:55211/",
  unitid: 40,    
  name: "TestItem",
  levelid: 2,
  token: "ewoJImFsZyI6ICJIUzI1NiIsCgkidHlwIjogIkpXVCIKfSAKewoJImh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3dzLzIwMDUvMDUvaWRlbnRpdHkvY2xhaW1zL25hbWUiOiAiQWRtaW4iLAoJInN1YiI6ICJhZG1pbkBzeXN0ZXJtLmNsIiwKCSJqdGkiOiAiZmFmNTIwMzItZmNlOC00NDY4LWJjYWYtNTc4YzU3MTg3ZTY5IiwKCSJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6ICJhZHRmNGY0Zi03Yzg0LTQ3MWEtOWYxYy1hNWYyOWM0YTVhNzAiLAoJImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd3MvMjAwOC8wNi9pZGVudGl0eS9jbGFpbXMvcm9sZSI6ICJBZG1pbmlzdHJhdG9yIiwKCSJTdG9yZXMiOiAiNCIsCgkiU3RhdHVzIjogIjQiLAoJIlN0b2NrcyI6ICI0IiwKCSJUeXBlcyI6ICI0IiwKCSJUeXBlczIiOiAiNCIsCgkiU2l6ZXMiOiAiNCIsCgkiVHlwZXM0IjogIjQiLAoJIldvcmsiOiAiNCIsCgkiTGFiZWxzIjogIjQiLAoJIlR5cGVzNSI6ICI0IiwKCSJOYW1lcyI6ICI0IiwKCSJDdXN0b21lcnMiOiAiNCIsCgkiWm9uZXMiOiAiNCIsCgkiT3BlcmF0aXZlIjogIjQiLAoJIlNpemVzMiI6ICI0IiwKCSJTZXR1cCI6ICI0IiwKCSJVc2VycyI6ICI0IiwKCSJQcmludHMiOiAiNCIsCgkiQWRtaW4iOiAiNCIsCgkiQXNzaWdudG1lbnRzIjogIjQiLAoJIkxldmVsIjogIjQiLAoJIlNoaXBvdXQiOiAiNCIsCgkiRGVsaXZlcnkiOiAiNCIsCgkiQXJlYXMiOiAiNCIsCgkiVHJhbnMiOiAiNCIsCgkiZXhwIjogMTU4MDU4OTAzNywKCSJpc3MiOiAiaHR0cDovL2xvY2FsaG9zdDo2MzA0NS8iLAoJImF1ZCI6ICJodHRwOi8vbG9jYWxob3N0OjYzMDQ1LyIKfQ"
};

Токен моей системы

{ "alg": "HS256", "typ": "JWT" },
{
  "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "Admin",
  "sub": "admin@systerm.cl",
  "jti": "faf52032-fce8-4468-bcaf-578c57187e69",
  "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "adtf4f4f-7c84-471a-9f1c-a5f29c4a5a70",
  "http://schemas.microsoft.com/ws/2008/06/identity/claims/role": "Administrator",
  "Stores": "4",
  "Status": "4",
  "Stocks": "4",
  "Types": "4",
  "Types2": "4",
  "Sizes": "4",
  "Types4": "4",
  "Work": "4",
  "Labels": "4",
  "Types5": "4",
  "Names": "4",
  "Customers": "4",
  "Zones": "4",
  "Operative": "4",
  "Sizes2": "4",
  "Setup": "4",
  "Users": "4",
  "Prints": "4",
  "Admin": "4",
  "Assigntments": "4",
  "Level": "4",
  "Shipout": "4",
  "Delivery": "4",
  "Areas": "4",
  "Trans": "4",
  "exp": 1580589037,
  "iss": "http://localhost:63045/",
  "aud": "http://localhost:63045/"
}
...