Stas
где ты раньше был)
Rem1te
Да вот работаю, занят был :)
А тут смотрю уже пол тысячи сообщений не прочитанных в чате, аж удивился
Denis 🦄
Если посмотреть на ту же либу angular-jwt(новый анг), то под капотом она как раз декодирует токен.
Stas
Rem1te
Если Вы считаете что нужно делать иначе - делайте
Stas
Stas
Stas
но по поводу имени согласен, можно просто отдельной строкой записать
Denis 🦄
Если Вы считаете что нужно делать иначе - делайте
Мне не чуждо чужое мнение. Просто вы выводите его как правило, что фронт не должен. Честно скажу, в криптографии не силен. Но при декодировании токена, тебе не нужен какой либо ключ. Следовательно, я могу просто взять эту строку и декодировать известным мне алгоритмом. Из этого вытекает, что содержимое токена не защищено от утечки.
Rem1te
Denis 🦄
Если верить той-же вики, то "к заголовку и полезной нагрузке применяется алгоритм кодирования Base64-URL". Следовательно, полезная нагрузка это те данные, что фронт может спокойно декодировать и использовать без какого-либо ущерба для безопасности
Rem1te
А вот если у человека непосредственно проблема с декодированием на фронте, то наверно он этот ключ все таки использует.
Rem1te
И наверно что бы декодировать данные на фронте ему нужен ключ
Rem1te
Ой, а если мы кинем ключ на фронт любой человек сможет его подсмотреть в сорсах...
Rem1te
упс
Stas
Denis 🦄
тогда извиняюсь, это действительно проблема. Ключи не стоит перекидывать на фронт. Я имел ввиду, что если он хочет перекидывать какую либо нагрузку в токене, то это нормальная практика.
Rem1te
я брал свой jwt, кидал в декодировку на jwt.io, он показывал всю инфу payload
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImp0aSI6IjhlNjcyMzYzLTNmY2YtNDdlMi05NWM1LWNiMzc1ZDk3M2JmYSIsImlhdCI6MTUzMzczMTg4MCwiZXhwIjoxNTMzNzM1NDgwfQ.h5gk5aVIYACsxQhczBpkezTBDpL69NouK8yDu62a_gI
у меня не может его полность разобрать на сайте https://www.base64decode.org/
Denis 🦄
Stas
Ну так и в чем у вас возникла проблема?
Моя проблема была в том что на фронте не декодировало русскоязычные имена, но пожалуй я переделаю, только пока еще не решил как, либо буду отдельно имя юзера писать, либо буду делать запрос на декодировку jwt на бэк (и верну имя и заодно обновлю дату)
Stas
Valera
Привет
Кто может подсказать, как отловить букву, которая вводится и заменить её на другую до попадания в input?
Anonymous
onkeydown event, в колбеке уже проверяй и меняй
Stas
немного офтопа: подскажите как сделать что бы при выполнении условия выходило сразу с метода а не только с цикла
isHasReservation(addons){
if(addons.length > 0){
addons.forEach(addon => {
if(addon.reservation_accommodation.reservation !== undefined){
return true;
}
});
}
return false;
}
Константин
Valera
Кто-то сталкивался с подобной проблемой?
Есть input type="email"
Ввожу "qwwe@" и дальше любой кириллический символ
В scope вот такое попадает: "qwwe@xn--e-sub"
Valera
Нужно написать директиву, которая будет заменять всю кириллицу в поле на латинницу, например й=>q
Но все время подставляются вот эти "xn--"
Alex
директива => слушаешь keydown => заменяешь на что нужно
Valera
директива => слушаешь keydown => заменяешь на что нужно
так и делал
при keydown беру значение input и меняю всю кириллицу на латинницу
но при keydown в этот input сначала попадает та самая кириллица, а только потом она заменяется:
https://www.screencast.com/t/Ot3sTXRgy906
и вот в тот момент, когда в input попадает кириллица всё ломается:
https://www.screencast.com/t/rVgJEDG3Qu
Alex
Запили это в песочнице плес
Bako
$scope это локалный элемент внутри контроллера и другие контроллеры не имеют к нему доступа или это общий котлован? просто, я даю имя значение, если значение где-то в родителя записано, то child нечаяно менять его значение .
Константин
Константин
В чем вопрос?
Bako
Нет, вы не так поняли. Я про не прямой доступ элементу(без интерфейса) по адресной памяти к элементу. Типо, элемент меняется, но в другом конце кода без интерфейса. У меня несколько раз повторялся этот баг
Rem1te
Bako
ЧО?
Перечитайте проблему mutation objects https://medium.com/@fknussel/arrays-objects-and-mutations-6b23348b54aa
Bako
Вот это проблему наблюдаю в AngularJs в $scope
Rem1te
Окей, да я в курсе про мутабельность и имутабельность, но почему для Вас это ПРОБЛЕМА? Это естественный ход вещей.
Я переспросил потому что совершенно не понял Ваш вопрос, а не потому что не в курсе за мутабельность :)
Rem1te
Я не понял в чем у Вас проблема :)
Bako
лол
Bako
вы что-то путаете
Bako
Я про мутация(mutation) обьекта говорил, а не про изменяемый(mutable) и неизменяемый(immutable) обьекты
Rem1te
-_-
Bako
https://poanchen.github.io/blog/2017/06/13/mutable-vs-Immutable-object-in-JavaScript
Rem1te
Мне нечего Вам сказать, я пытаюсь у Вас уточнить суть Вашего вопроса, а Вы уходите в другую степь
Bako
Мне тоже нечего сказать, вы путаететесь в основах парадигмы ООП . Поэтому, не поняли суть вопроса.
Rem1te
Вы путаете парадигму праграммирования ООП
И паттерны программирования мутейбл/имутейбл
Rem1te
И ни какого отношения ООП к этим паттернам не имеет, ну за исключением того что речь идет о сущностях
Bako
Bako
Давайте сначало, я в последнее время часто нахожу проблему в $scope с несколько контроллерами внутри, где child controller может нечаяно поменять значение у parent controllerа, если название значение одинаковый у обоих, но при этом $scope у всех контроллеры раздельные. Это странный баг называемый mutation objects и не разу НЕ упоминал immutable/mutable. Это вы взяли с воздуха.
Rem1te
Довольно странное поведение при условии того что каждый скоуп это отдельный обьект с ссылкой на родителя
Хотелось бы примерчик если можно
Bako
Примерчик в своем ситуаций не могу показать, но могу показать легкий пример как ведеть себя mutation object
Bako
Bako
https://jsfiddle.net/Lh2tks3d/
Rem1te
Ну да это я понял и Вам написал что это ВЕРНОЕ поведение для джаваскрипта.
У Вас есть обьект в котором в поле data лежит массив
обращаясь к obj1.data[0] вы получаете ССЫЛКУ на этот элемент массива
И соотвественно Ваши манипуляции с ссылкой приведут к тому что изменится исходный элемент массива
Bako
Охх, если нечаяно отдашь ссылку к другому обьекту и потом ищи ересь ошибки в значениях.
Rem1te
ну да в джсе так, примитивы передаються по значению, все остальное по ссылке
Bako
Rem1te
не могу сказать честно говоря с чем у Вас проблема в этом плане, не сталкивался с подобным.
Какой Ваш ЯП основной?
Bako
Java 1.7
Rem1te
Ой да больно Вам будет в мире js -a :)
Bako
Да, нету тебе дебаггера, нет тебе сборщик мусора или строгой типизаций.
Bako
нормальный ООП увидешь только в EcmaScript 6
Rem1te
GC есть но он где-то там под капотом, + в js очень много неочевидных моментов которые нужно просто знать
Rem1te
которые ни чем не объясняються и логике не поддаються :)
Bako
и как вы с этим живете?
Rem1te
ежики кололись но продолжали жрать кактус (с)
Bako
Константин
Че началось то 😅
Константин
Нормальный язык, со своими правилами)
Чудес не так и много, а те что есть в целом объяснимы
Константин
Дебаггер норм в хроме, очень очень удобный имхо
Константин
Я прогаю на шарпе и жс
Константин
И там и там свои плюсы и минусы, жс вприпципе больше нравится только из-за того, что билд не нужен каждый раз. Ещё и разлогинивает. И IIS долго оживает
Andrew
Ребята, всем привет
Подскажите, пожалуйста, есть такая ситуация: есть два инпута, на одном из них висит директива, которая валидирует инпут в зависимости от значения другого инпута по событию keyup. Дело в том, что мы можем поменять значение в другом инпуте и после этого надо снова валидировать первый input, но уже не по keyup, а как-то по-другому.
Как бы вы такое сделали , или надо вообще по другому как-то запилить это все ?))
Andrew
Валидация в данном случае - ngModel.setValidity
Andrew
Ещё хочу добавить, что таких пар инпутов на странице много и каждая пара работает в такой связке
Andrew
Походу, надо attr.observe юзать. У меня значение второго инпута прикидывается в директиву первого инпута