These are chat archives for LaravelRUS/chat

10th
Jan 2017
Maksim Melnichuk
@melnichukme
Jan 10 2017 00:24
Привет скажите как можно защитить обращения с фронтенда в рест апи? чтобы другие третии лица не расковыряли исходный код и не нашли url методов апи. чтобы апи работал только с моим фронтендом
test
@mySimpleTest_twitter
Jan 10 2017 04:55
@maksdekka не создавать публичное REST API?
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 04:56
проще использовать jwt и не мучать себе мозг
=)
test
@mySimpleTest_twitter
Jan 10 2017 05:00
@SerafimArts это уже не бубличное API
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:01
@mySimpleTest_twitter зависит от реализации
ну и под тем, что ты подразумеваешь "публичное"
лично для меня публичное всё то, что доступно из инета
test
@mySimpleTest_twitter
Jan 10 2017 05:04
паблик/приват. На паблике не требуется "шевелений ушами" для авторизации и аутентификации. Для привата - требуются.
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:04
для локальной подсети ничего не требуется, для инета - требуется
вот видишь, уже два понятия +)
test
@mySimpleTest_twitter
Jan 10 2017 05:05
Нет. Если вы в локальной сети, то это не значит, что у вас приват.
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:06
@mySimpleTest_twitter а что тогда?
test
@mySimpleTest_twitter
Jan 10 2017 05:06
Впрочем если она в сейфе и коммутатор выключен...
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:06
"публичное апи" - это какой-то устоявшийся термин?
судя по гуглу - нет
test
@mySimpleTest_twitter
Jan 10 2017 05:07
Публичное API не требует авторизации. Дёргай реквесты - не хочу.
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:07
судя по гуглу "публичное апи" как раз то, что доступно для почти любого желающего
и даже аутентификация не подразумевает иное
@mySimpleTest_twitter гугл говорит иное
test
@mySimpleTest_twitter
Jan 10 2017 05:08
Приватное апи требует авторизации и в случае даже превышения реквестов по ограничениям каким-то можно блокировать клиента
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:08
@mySimpleTest_twitter давай-ка пруфы? =)
test
@mySimpleTest_twitter
Jan 10 2017 05:09
топикстартер не понимает то, что реквесты будут смотреть и дёргать
Важно их правильно ограничить
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:10
@mySimpleTest_twitter ну вот смотри, ВК называет свои апишки публичными (https://vk.com/dev/audio_api) и требует аутентификации
test
@mySimpleTest_twitter
Jan 10 2017 05:10
Пример по AmoCrm. Без авторизации ни каких запросов, а если их больше чем раз в секунду, то на запрос ошибка
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:10
отличный пример
говноcrm
:D
test
@mySimpleTest_twitter
Jan 10 2017 05:12
Битрикс24 портал. Без авторизации никаких запросов (есть исключение с кривым добавлением лидов и возвращением не корректного json с момента появления данного API). При превышении числа запросов получаем ошибку
KarmaBot
@KarmaBot
Jan 10 2017 05:12
@mySimpleTest_twitter, :see_no_evil: :fire:
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:12
@mySimpleTest_twitter даже бот тебе говорит, что пример ещё хуже
откуда ты такие берёшь? :D
test
@mySimpleTest_twitter
Jan 10 2017 05:13
Гугловое апи. Без авторизации идите курите, а с ним ограничения по количеству запросов
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:13
но оно публичное, ага
test
@mySimpleTest_twitter
Jan 10 2017 05:13
Из жизни
Очевидно не понятно понятие бубличности.
Есть апи где можно что-то как-то дёргать и не авторизоваться
Например на google картах было
Если вы хотите назвать приватным не документированное API или пока по техническим ограничениям не доступное из вне (и кто им пользуется? сам создатель?), то это ваше право. Топик стартер сообщил, что его API доступно и значить оно не публичным может стать только на основе авторизации, аутентификации и ограничиваться на основе аккаунтинга
боту сочувствую. видимо уровень осознания низок :P
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:18

и кто им пользуется? сам создатель?

У нас половина инфраструктуры на нём стоит

отделов много, общаться надо
test
@mySimpleTest_twitter
Jan 10 2017 05:19
Значит ждите инсайд, так как пользуетесь им не только вы и оно уже публично, если не использует три AAA (авторизацию, аутентификацию и аккаунтинг) :)
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:19
так оно внутри локалки
test
@mySimpleTest_twitter
Jan 10 2017 05:19
И что?
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:19
хрен кто пролезет
test
@mySimpleTest_twitter
Jan 10 2017 05:20
API которым не пользуется никто?
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:20
да ладно :D
предлагаю прочитать, например про RTB, оно делится на SSP, DSP, DMP, ATD и прочие
ATD как минимум должно общаться с DSP
DSP с SSP
и если ATD можно на пыхе наклепать, то DSP с 4k+ RPS уже на сях
а это два разных отдела
решение? ;)
ок, это довольно специфические штуки и рассказывать как происходит общение с яндексом и гуглом из бегуна я не буду
но если клиентом является, например Лайвинтернет, а сервером, допустим Id (аутентификационный), то сколько человек им пользуется?
1 (сайт) или миллионы (пользователи этого сайта)?
test
@mySimpleTest_twitter
Jan 10 2017 05:25
Помню в 1998 году поднял хост с форумом на php3 Сеть была доступна с четырёх таможен региональных. Нашёлся уник. который в инете (в то время) нашёл слабое место (я поленился изменить имя файла с данными доступа, о mysql забыли).
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:25
@mySimpleTest_twitter залезешь в локалку гугла, яндекса или нашу извне - получишь медаль =)
причём локалку серверную, а не рабочую
test
@mySimpleTest_twitter
Jan 10 2017 05:26
Вот и говорю, что приватное API разделяет доступ на основе авторизации и прочего (приватно - значит только для кого-то). А вот публичное - это когда дёргает каждый.
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:26
VK говорит что у них публичное АПИ
там так и написано
но требует аутентификации
а ещё у вк есть приватное апи, про которое знают только разрабы, которым они подтягивают и мониторят рекламу из adfox
test
@mySimpleTest_twitter
Jan 10 2017 05:27
Другими словами мы маркетинговый термин публичности ставим выше айтишного?
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:28
другими словами таких терминов не существует
test
@mySimpleTest_twitter
Jan 10 2017 05:29
У банков есть часто API по их клиентам. По документации оно может быть доступно группе соучастников. Оно публичное? А если банк его не выкладывает, но даёт по запросу и объявляет публичным для маркетинга?
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 05:30
@mySimpleTest_twitter как скажешь - так и будет, термина такого не существует
test
@mySimpleTest_twitter
Jan 10 2017 05:30
Ладно. Похоже мы и так на оффтопили
Igor Pankov
@globalmac
Jan 10 2017 05:57
Всем привет! Коллеги, не смог раскопать совет по реализации последовательного выполнения команд в sheduler'е (Laravel 5.2): к примеру, у меня есть 5 команд, которые должны чёктко выполняться друг за другом каждый час, например. Если память не обманывает, я пробовал делать через after и then, но как-то не так видимо. Кто-нибудь сталкивался?
KarmaBot
@KarmaBot
Jan 10 2017 05:57
@globalmac, здравствуй.
Anton Vorontsov
@symbios-zi
Jan 10 2017 06:05
@KarmaBot а если в конце выполнения вызывать другую?
И о цепочке
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 06:06
@symbios-zi мимо
вращайте барабан
+)
Anton Vorontsov
@symbios-zi
Jan 10 2017 06:07
@SerafimArts почему?
test
@mySimpleTest_twitter
Jan 10 2017 06:07
after и then, как я понимаю, выполняются после до и после текущей команды, но никак не влияют на другие команды
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 06:08
@symbios-zi не тому адресовано ;)
Anton Vorontsov
@symbios-zi
Jan 10 2017 06:09
@SerafimArts лол увидел )))
test
@mySimpleTest_twitter
Jan 10 2017 06:10
@SerafimArts если это я, то два плюса
rammtw
@rammtw
Jan 10 2017 06:10

ребят, как при тестировании json api, проверить поле, если его значение меняется? делал вот так:

        $this->json('POST', '/api/login/', ['email'=>'mymail@gmail.com', 'password'=>'mypass'])
            ->seeJson([
                'code' => 202, 'msg' => 'ACCEPTED', 'desc' => 'Значение меняется'
            ]);

надо проверить это поле на количество знаков

Igor Pankov
@globalmac
Jan 10 2017 06:13
Думаю, тут вопрос к dirty data, если хочешь проверить изменения того или иного поля в БД. Если я правильно понял тебя
rammtw
@rammtw
Jan 10 2017 06:14
@globalmac в бд ничего не надо проверять) это jwt-токен
Anton Vorontsov
@symbios-zi
Jan 10 2017 06:15
@rammtw а что мешает посчитать количество символов и проверить через assertEquals? Отдельным тестом. Один тест проверяет код ответа, другой правильность строки
Igor Pankov
@globalmac
Jan 10 2017 06:16
Ребят, всем спасибо, погуглю ещё. Не хотелось бы делать связку команд друг с другом, ибо они могут в некоторых обстоятельствах отдельно запускаться, поэтому хотелось их последовательно в кроне гонять.
rammtw
@rammtw
Jan 10 2017 06:17
@symbios-zi так у меня ошибка в этом тесте, ругается на неизвестное значение desc
или ты имеешь ввиду метод call
Anton Vorontsov
@symbios-zi
Jan 10 2017 06:18
@rammtw ну потому что в тесте ты не знаешь какое значение в текущий момент, верно?
Igor Pankov
@globalmac
Jan 10 2017 06:18
@rammtw Сорри упустил упоминание тестирования в сообщении)
rammtw
@rammtw
Jan 10 2017 06:18
@symbios-zi именно так
Ваня Devium
@webdevium
Jan 10 2017 06:19
@rammtw так ты проверь не само значение, а факт того, что там - валидный jwt.
Anton Vorontsov
@symbios-zi
Jan 10 2017 06:19
@rammtw это и не возможно сделать. Не проверяй в этом тесте вообще его. Отдельным тестом проверяй что не пустое и содержит нужное количество символов
rammtw
@rammtw
Jan 10 2017 06:19
@webdevium я это пытаюсь сделать) только не пойму как
Ваня Devium
@webdevium
Jan 10 2017 06:19
@rammtw jwtToken->isValid()
Anton Vorontsov
@symbios-zi
Jan 10 2017 06:19
Задача тестов не угадывать хеши, а проверять работоспособность
rammtw
@rammtw
Jan 10 2017 06:20
т.е. не использовать метод seeJson? а какой-то другой?
Anton Vorontsov
@symbios-zi
Jan 10 2017 06:21
@globalmac у тебя 5 артизан команд и ты их хочешь в планировщике рулить в какой последовательности запускать?
Ваня Devium
@webdevium
Jan 10 2017 06:21
Этого метода на странице доки по тестам точно нет. Включай google driven development.
Anton Vorontsov
@symbios-zi
Jan 10 2017 06:21
@rammtw удалить поле desc просто оттуда
rammtw
@rammtw
Jan 10 2017 06:22
@symbios-zi @webdevium спасибо
Igor Pankov
@globalmac
Jan 10 2017 06:32
@symbios-zi да, всё верно
@symbios-zi Понимаю, что оешение на поверхности - замутить еще одну команду, где соблюдать последовательность, но мне интересно можно ли в Kernel'е это сделать)
Anton Vorontsov
@symbios-zi
Jan 10 2017 06:37
@rammtw ну можно job несколько штук сделать с приоритетами, но кажется что так не стоит делать
Soprun Vladislav
@vlsoprun
Jan 10 2017 07:04
Здорова мужики!
Ваня Devium
@webdevium
Jan 10 2017 07:05
Боброутра :)
Dave
@aios
Jan 10 2017 07:15
:facepalm:
Роман Сохарев
@greabock
Jan 10 2017 07:48
каждому по бобру - я угощаю )
Soprun Vladislav
@vlsoprun
Jan 10 2017 07:48
@greabock Спасибо :smile:
KarmaBot
@KarmaBot
Jan 10 2017 07:48
Спасибо (+1) для @greabock принято! Текущая карма +476.
am0nshi
@am0nshi
Jan 10 2017 07:48
@vlsoprun изи :D
бобрового утра всем
Soprun Vladislav
@vlsoprun
Jan 10 2017 07:49
@am0nshi Боброго ))))
Ivan
@Hunternnm
Jan 10 2017 07:51
@greabock и тебе бобра
test
@mySimpleTest_twitter
Jan 10 2017 08:32
А-а-а-а-а!!! Кругом бороиды? Боброиды заполонили планету!
am0nshi
@am0nshi
Jan 10 2017 08:34
мтс и сюда добрался...
Soprun Vladislav
@vlsoprun
Jan 10 2017 08:34
@am0nshi lol :satisfied:
test
@mySimpleTest_twitter
Jan 10 2017 08:34
Это не мтс. Это я ещё не родился :P
Игорь Мандыч
@chiz-developer
Jan 10 2017 08:41
хм...странно как-то все получается: за "элементарные вопросы" тут некоторые баном размахивают, а вот "глубоко-тематические сообщения" - эт ничего, нормально.
Всем дня без Error!
am0nshi
@am0nshi
Jan 10 2017 08:42
@chiz-developer заслуги перед родиной))) элементарные вопросы != не читать документацию :)
Игорь Мандыч
@chiz-developer
Jan 10 2017 08:44
@am0nshi я про бобров) А документацию 60 летний дядька, который решил сделать себе приложение на larke может уже и 3 раза прочитал, но вот в чем-то затупил) неужто так трудно подсказать ему?)
JhaoDa
@jhaoda
Jan 10 2017 08:44
@chiz-developer вот такая вот несправедливость
@chiz-developer ты на 60-летнего не тянешь
Игорь Мандыч
@chiz-developer
Jan 10 2017 08:45
я о себе и не говорю =) и тебе здрасте
test
@mySimpleTest_twitter
Jan 10 2017 08:49
Кстати о яйцах. Только что изменил морду в твитере, но здесь яйцо из него осталось всё тем же. Ой
JhaoDa
@jhaoda
Jan 10 2017 08:49
@mySimpleTest_twitter держи нас в курсе
Игорь Мандыч
@chiz-developer
Jan 10 2017 08:50
@mySimpleTest_twitter logout -> login, может заново подтянет
test
@mySimpleTest_twitter
Jan 10 2017 08:50
@chiz-developer не сработало
Alexander
@Dualse
Jan 10 2017 08:50
p.s. у нас есть оффтоп: https://gitter.im/LaravelRUS/offtop
JhaoDa
@jhaoda
Jan 10 2017 08:51
@chiz-developer @mySimpleTest_twitter вон вам выше подсказывают, кстати
am0nshi
@am0nshi
Jan 10 2017 08:51
@chiz-developer бобры это фирменная фишка :)
Игорь Мандыч
@chiz-developer
Jan 10 2017 08:51
@jhaoda я здесь причем?
test
@mySimpleTest_twitter
Jan 10 2017 08:52
ласт оффтоп. лучше яйцом останусь.
Alexander
@Dualse
Jan 10 2017 08:52
@chiz-developer В оффтопе обсуждают темы не связанные с laravel, в том числе и яйцо твиттера
Игорь Мандыч
@chiz-developer
Jan 10 2017 08:53
@Dualse уважаемый, извольте пролистать выше и посмотреть, кто начал писать о яйцах)
Alexander
@Dualse
Jan 10 2017 08:53
@chiz-developer Я знаю, кто начал. Суть в том, что вы начали диалог про смену картинки, вам подсказали, что такие темы можно спокойно обсуждать в оффтопе. Так что не вижу смысла в вопросе "я здесь причем?".
Игорь Мандыч
@chiz-developer
Jan 10 2017 08:54
@Dualse так какие претензии ко мне?!
JhaoDa
@jhaoda
Jan 10 2017 08:54
@chiz-developer @Dualse хватит
GD1m
@GD1m
Jan 10 2017 09:55
Привет. Подскажите плиз как обращаться к базе с учетом регистра? MyModel::where('username', 'mima) возвращает и mima и mimA и Mima. Нужно чтобы вернул только mima
KarmaBot
@KarmaBot
Jan 10 2017 09:55
Прувет, @GD1m!
Ваня Devium
@webdevium
Jan 10 2017 09:55
@GD1m charset в базе поменяй
@GD1m лара тут не при чем
GD1m
@GD1m
Jan 10 2017 09:56
хм
а какой нужен для utf8?
Ваня Devium
@webdevium
Jan 10 2017 09:56
@GD1m у гугла спроси, мы тут только по ларе понимаем
orionych
@orionych
Jan 10 2017 12:51
Всех приветствую! Все-таки вопрос остался - можно ли броадкастить события в redis а сохранять из в базу данных mysql?
KarmaBot
@KarmaBot
Jan 10 2017 12:51
@orionych, привет, как настроение?
Ваня Devium
@webdevium
Jan 10 2017 12:55
@orionych можно
new Event to redis
new Event to mysql
orionych
@orionych
Jan 10 2017 12:56
@webdevium ну это я понимаю) а как это прописать в настройках?
Ваня Devium
@webdevium
Jan 10 2017 12:56
@orionych думаешь фреймворк все вместо тебя делать будет?
orionych
@orionych
Jan 10 2017 12:57
@webdevium ну надеюсь - а что он сразу в два места отправлять не может?
Ваня Devium
@webdevium
Jan 10 2017 13:01
@orionych руками
orionych
@orionych
Jan 10 2017 13:02
@webdevium спасибо) учту!
KarmaBot
@KarmaBot
Jan 10 2017 13:02
Спасибо (+1) для @webdevium принято! Текущая карма +91.
JhaoDa
@jhaoda
Jan 10 2017 13:04
@orionych объясни, как вообще связаны события и БД? События в принципе нигде не хранятся.
orionych
@orionych
Jan 10 2017 13:17
@jhaoda я объясню - у меня события создают менеджеры - например создали счет - коммерческое предложение, отправили емайл, по этим событиям я должен определять что они сделали за день - поэтому я их должен хранить максимально подробно - но и сообщать системе
Еще хотел уточнить у народа - а вот вы node_modules как синкаете между сервером и компом?
JhaoDa
@jhaoda
Jan 10 2017 13:18
@orionych ну так к броадкастингу это как относится?
Ваня Devium
@webdevium
Jan 10 2017 13:18
@orionych смесь бульдога и носорога
orionych
@orionych
Jan 10 2017 13:19
@jhaoda ну я должен и отброадкастить это событие и записать
@webdevium есть идеи лучше?
JhaoDa
@jhaoda
Jan 10 2017 13:19
@orionych ну так броадкасти И записывай
Ваня Devium
@webdevium
Jan 10 2017 13:19
"И записывай"
orionych
@orionych
Jan 10 2017 13:19
@jhaoda вот и был вопрос как это сделать - мне нужен и redis и mysql
JhaoDa
@jhaoda
Jan 10 2017 13:19
У броадкастера в принципе нет драйвера для БД, что видно даже из доки, глупый вопрос какой-то
orionych
@orionych
Jan 10 2017 13:20
@jhaoda я это буду реализовывать через пару дней - посмотрел уроки - вот мне нужно и записать и броадкастить
JhaoDa
@jhaoda
Jan 10 2017 13:21
@orionych ты вообще зря употребил слова «броадкастинг» и «сохранять в БД» в одном предложении. Это никак не связанные между собой вещи
Ivan
@Hunternnm
Jan 10 2017 13:21
Ключевое - посмотрел уроки. А надо - почитал доку
HesusMan
@HesusMen
Jan 10 2017 13:53
Всем привет
кто работал с Laravel Cashier ?
JhaoDa
@jhaoda
Jan 10 2017 13:54
@HesusMen очень мало кто, ибо оно бесполезно для СНГ и почти всей Европы
Alexey Yastrebov
@Anurhat
Jan 10 2017 13:56
Всем привет, может кто подсказать, можно ли в laravel php функцией сбросить то, что было выведено на экран?
KarmaBot
@KarmaBot
Jan 10 2017 13:56
О! @Anurhat! Сто лет не виделись!) Как жизнь молодецкая? Рассказывай :)
am0nshi
@am0nshi
Jan 10 2017 13:56
@Anurhat погугли буферизация
HesusMan
@HesusMen
Jan 10 2017 13:56
@jhaoda а чем тогда охватить СНГ, Европу и США
am0nshi
@am0nshi
Jan 10 2017 13:56
@HesusMen а что нужно?
HesusMan
@HesusMen
Jan 10 2017 13:57
система оплаты подписки тарифных планов
Alexey Yastrebov
@Anurhat
Jan 10 2017 13:57
@am0nshi только средствами php буферизации? оборачивать всё в ob_start()?
HesusMan
@HesusMen
Jan 10 2017 13:57
там нужно будет скорее всего чтобы пол мира охватывало
JhaoDa
@jhaoda
Jan 10 2017 13:58
@HesusMen paypal
am0nshi
@am0nshi
Jan 10 2017 13:58
@Anurhat да, можешь буферизировать вывод и потом модифицировать/сбросить его. только какое это имеет отношение к ларавель?
HesusMan
@HesusMen
Jan 10 2017 13:59
@jhaoda пейпал для СНГ не так уж и хорошо
Alexey Yastrebov
@Anurhat
Jan 10 2017 13:59
@am0nshi да мне просто нужно, если запрос ajax, вернуть в ответ часть контента
am0nshi
@am0nshi
Jan 10 2017 13:59
@HesusMen ты вот сейчас вообще ни о чем не рассказал
JhaoDa
@jhaoda
Jan 10 2017 13:59
@HesusMen ну тогда как найдешь, кто хорош везде, то нам расскажи, мы тебе спасибо скажем
@HesusMen ну и опять же — как этот вопрос относится к ларавел?
HesusMan
@HesusMen
Jan 10 2017 14:00
@am0nshi ну если кратко, то в проекте будут несколько тарифов, клиент выбирает и оплачивает их, платформа ориентирована будет почти на все странны
@jhaoda проект на laravel
am0nshi
@am0nshi
Jan 10 2017 14:01
@HesusMen ты про кашир опять ничего не рассказал. сфера работы? виды платежей? конкретные регионы?
JhaoDa
@jhaoda
Jan 10 2017 14:01
@HesusMen и что?
@am0nshi он сказал, что ему СНГ нужен
В оффтопе обсуждайте
Dmitriy Sobolevskiy
@justty
Jan 10 2017 14:26
всем привет
Подскажите по модели. Добавляю отношение 1к1 , при помощи свойства appends вытягиваю атрибут из связанной модели, чтобы по дефолту болтался. Все хорошо, но появляется в ответе кроме атрибута еще и объект связанной модели
JhaoDa
@jhaoda
Jan 10 2017 14:30
@justty код показать не хочешь? Или нам твоё описание самим компилировать в код?
Dmitriy Sobolevskiy
@justty
Jan 10 2017 14:31
@jhaoda title
JhaoDa
@jhaoda
Jan 10 2017 14:32
@justty ссылку заверни
@justty ну так и вопрос-то в чем? Всё происходит как должно. Если тебе не нужна связь, то и удаляй её сам
Dmitriy Sobolevskiy
@justty
Jan 10 2017 14:34
@jhaoda response
@jhaoda нужен только атрибут, я появляется еще объект связи
@jhaoda local_zone не нужен
JhaoDa
@jhaoda
Jan 10 2017 14:35
@justty предлагаю вникнуть в принцип json'изации модели. Например, почитав доку
Dmitriy Sobolevskiy
@justty
Jan 10 2017 14:36
@jhaoda отличный ответ
JhaoDa
@jhaoda
Jan 10 2017 14:36

@justty а то. Ибо в доке написано, что так и должно быть. Прям цитатко

so all attributes and all relations (including the relations of relations) will be converted to arrays:

Alexander Avakov
@pinguinjkeke
Jan 10 2017 14:51
Всем привет. А какой сейчас нормальный пакет для JWT в Laravel? Tymon что-то отсталый
KarmaBot
@KarmaBot
Jan 10 2017 14:51
@pinguinjkeke и тебе не хворать :)
wagwandude
@wagwandude
Jan 10 2017 15:03
Всем привет
Alexander Avakov
@pinguinjkeke
Jan 10 2017 15:03

@jhaoda спасибо, но у меня с ним проблемы.
У меня два гарда, использующих jwt. user_api и manager_api.
Если залогиниться за юзера с id 1, то этот токен сработает и для апи менеджера.

Куда смотреть? Что я делаю не так?

KarmaBot
@KarmaBot
Jan 10 2017 15:03
Спасибо (+1) для @jhaoda принято! Текущая карма +1395.
JhaoDa
@jhaoda
Jan 10 2017 15:03
@pinguinjkeke tymon не отсталый, просто всё никак не релизнётся
@pinguinjkeke ну очевидно, что писать два своих гварда
Alexander Avakov
@pinguinjkeke
Jan 10 2017 15:04
@jhaoda у меня их и так два
JhaoDa
@jhaoda
Jan 10 2017 15:04
@pinguinjkeke ну хз, я же приложения твоего не вижу
Alexander Avakov
@pinguinjkeke
Jan 10 2017 15:05
@jhaoda я написал, что два гарда. Только получается, что токен действителен и для первого и для второго гарда.
JhaoDa
@jhaoda
Jan 10 2017 15:07
@pinguinjkeke ну и дальше-то что? Я должен телепатически узреть код твоих гвардов и конфиг?
orionych
@orionych
Jan 10 2017 15:07
Ребята а подскажите как вы подключаете node_modules на сервере и на компе (учитывая что git их игнорирует при git add . и дальнейшем push)?
Ваня Devium
@webdevium
Jan 10 2017 15:08
@orionych есть такая штука git hook
остальное - гоголь знает
JhaoDa
@jhaoda
Jan 10 2017 15:08
@orionych этот вопрос как-то относится к ларавел?
Alexander Avakov
@pinguinjkeke
Jan 10 2017 15:08
@jhaoda вообще было бы неплохо
    'manager_api' => [
            'driver' => 'jwt-auth',
            'provider' => 'securities'
        ],
        'user_api' => [
            'driver' => 'jwt-auth',
            'provider' => 'users'
        ],
...
JhaoDa
@jhaoda
Jan 10 2017 15:12
@pinguinjkeke дай угадаю. Провайдеры securities и users просто указывают на разные таблицы?
Alexander Avakov
@pinguinjkeke
Jan 10 2017 15:12
@jhaoda да, это разные модели
JhaoDa
@jhaoda
Jan 10 2017 15:12
@pinguinjkeke и в обоих есть записи с РК=1? Дальше продолжать?
Alexander Avakov
@pinguinjkeke
Jan 10 2017 15:13
@jhaoda
        'users' => [
            'driver' => 'eloquent',
            'model' => App\Models\User::class
        ],
        'securities' => [
            'driver' => 'eloquent',
            'model' => App\Models\Security::class
        ],
@jhaoda именно это я и пытаюсь объяснить
JhaoDa
@jhaoda
Jan 10 2017 15:14
@pinguinjkeke ну я и спрашиваю — дальше продолжать или сам понял, где собака порылась?
Alexander Avakov
@pinguinjkeke
Jan 10 2017 15:14
Я думал, что можно как-то через custom claims дополнительную проверку реализовать, но безрезультатно
@jhaoda я понимаю, что проблема в pk, но как выйти из положения? Это глупо - создавать другие ключи
JhaoDa
@jhaoda
Jan 10 2017 15:16
@pinguinjkeke ну ты мог это сразу и внятно сказать? Нет, начал рассказывать, что с пакетом проблема, что tymon отсталый...
Alexander Avakov
@pinguinjkeke
Jan 10 2017 15:16
@jhaoda я сразу про id написал, ну во втором сообщении
JhaoDa
@jhaoda
Jan 10 2017 15:18
@pinguinjkeke загляни в гвард, найди метод user(), увидь там код $this->provider->retrieveById($id)
Alexander Avakov
@pinguinjkeke
Jan 10 2017 15:20
@jhaoda получается, что независимо от провайдера, он будет цеплять тупо по sub (id)
JhaoDa
@jhaoda
Jan 10 2017 15:21
@pinguinjkeke вывод? Писать свой гвард (радуся, что не два) и искать по чём-то ещё. А то и свой юзер провайдер в добавок...
Alexander Avakov
@pinguinjkeke
Jan 10 2017 15:23
@jhaoda у меня в custom claims всегда передавалась role, значение которой соответствует названию provider'а. Следовательно, от этого можно отталкиваться
Alexander Avakov
@pinguinjkeke
Jan 10 2017 15:48
@jhaoda спасибо
KarmaBot
@KarmaBot
Jan 10 2017 15:48
Спасибо (+1) для @jhaoda принято! Текущая карма +1396.
orionych
@orionych
Jan 10 2017 19:29
Всех приветствую. Созрел новый вопрос по laravel - ситуация такая - от обычной авторизации в проекте хочу отказаться, а использовать авторизацию по подписанным ssl сертификатам - сейчас использую проверку в routes/web.php и делаю перед началом роутов Auth::loginAsUserId(ID)
KarmaBot
@KarmaBot
Jan 10 2017 19:29
Hello, @orionych!
orionych
@orionych
Jan 10 2017 19:29
может кто-то подскажет более нормальный путь
что надо писать сервис провайдер или свое middleware?
Ваня Devium
@webdevium
Jan 10 2017 19:30
@orionych ты все не успокоишься... чем тебе ssl помогут?
orionych
@orionych
Jan 10 2017 19:34
@webdevium а почему я должен успокаиваться? авторизацией
Ваня Devium
@webdevium
Jan 10 2017 19:35
@orionych ты систему безопасности для пентагона городишь, или что?
@orionych берешь просто сайт, просто аутентификацию лары, просто прикручиваешь https к сайту. Профит.
orionych
@orionych
Jan 10 2017 19:36
@webdevium нет - crm система - все пользователи мне известны - новых не надо)
Anton Vorontsov
@symbios-zi
Jan 10 2017 19:36
@orionych что за аутентификация такая? никогда не слыхал )
orionych
@orionych
Jan 10 2017 19:36
@symbios-zi погугли) интересная штука
Anton Vorontsov
@symbios-zi
Jan 10 2017 19:36
@orionych дай ссылку, я ничего толкового не нахожу
orionych
@orionych
Jan 10 2017 19:37
@symbios-zi тебе про принципы открытых и закрытых ключей или про то как это делается?
Anton Vorontsov
@symbios-zi
Jan 10 2017 19:37
@orionych как ssl аутентификация в контексте php работает
orionych
@orionych
Jan 10 2017 19:39
@symbios-zi а она в контексте php особо и не работает - сам процесс идентификации проходит уже на сервере - PHP получает информацию о самом ключе - что за пользователь его ID подпись и т.д - а потом уже использует нужную подпись в базе данных чтобы связать информацию сервера и базы данных
Ваня Devium
@webdevium
Jan 10 2017 19:40
Та то какая-то свистоперделка, честно. Это как поднять облако кассандры для сайта визитки
Anton Vorontsov
@symbios-zi
Jan 10 2017 19:40
@orionych ну тут получается стандартная не подходит
Ваня Devium
@webdevium
Jan 10 2017 19:40
Samba, kerberos и activeDirectory еще туда прикрути, чтоб вообще просто было)))
orionych
@orionych
Jan 10 2017 19:41
@webdevium если ты используешь webRTC и подобные штуки - которые тебе могут стоить денег - это вполне обосновано
Anton Vorontsov
@symbios-zi
Jan 10 2017 19:41
@webdevium exim, dovecot, postfix и iptables в придачу
orionych
@orionych
Jan 10 2017 19:43
@webdevium вообще не вижу проблем настроить ssl ключи - это дело 30 минут для всех пользователей - а вот разбираться например почему я не могу использовать Gate::Role для нормального получения нужных доступов по пользователям - без стандартной атворизации Laravel - вот это геморой
поэтому прошу вернуться к моему вопросу относительно того - куда закрутить авторизацию по параметрам от сервера в laravel в middleware или мучить сервис провайдер или что-то вроде этого?
Anton Vorontsov
@symbios-zi
Jan 10 2017 19:45
@orionych ну чувак, сделай как стандартная. middleware. Открывал хоть раз Kernel.php?
orionych
@orionych
Jan 10 2017 19:46
Открывал - но боюсь что опять какая-нибудь фишка может перестать работать если ее вызвать неуспев что-нибудь авторизовать
все шансы есть у policy например)
Anton Vorontsov
@symbios-zi
Jan 10 2017 19:49

@orionych

    protected $routeMiddleware = [
        'auth' => \App\Http\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
      ...
  ]

копай в эту сторону. в Kernel.php

orionych
@orionych
Jan 10 2017 19:50
@symbios-zi точно - внимание вопрос 'auth' если я вообще отключу из kernel (закомментирую) - policy работать будет?
Anton Vorontsov
@symbios-zi
Jan 10 2017 19:51
@orionych думаю что нет. )
но... это не аутентификация
это только начало )
orionych
@orionych
Jan 10 2017 19:51
@symbios-zi точно)
@symbios-zi вот поэтому и ищу нормальное решение - либо оставить в web.php пару строчек - либо надо перечитывать кучу инфы как все у них линкуется - и вопрос не самый дурной на самом деле - каким изначально может показаться
просто мало знаний про laravel
дней на 10
Anton Vorontsov
@symbios-zi
Jan 10 2017 19:54
@orionych лучший вариант тогда почитать вот это https://laravel.com/docs/5.3/authentication#adding-custom-guards
@orionych и ниже про провайдеры еще прочитай
orionych
@orionych
Jan 10 2017 19:54
@symbios-zi да - до них я еще пока не дошел к сожалению - может быть ты и прав
@symbios-zi в любом случае спасибо
KarmaBot
@KarmaBot
Jan 10 2017 19:54
Спасибо (+1) для @symbios-zi принято! Текущая карма +207.
Anton Vorontsov
@symbios-zi
Jan 10 2017 19:55
@orionych лучше не делать велосипед. А посмотреть как сделано уже и что предлагается там. Напиши свою реализацию в общем
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 19:57
что-то я прочитал про эти сертификаты и нихрена не понимаю чем они отличаются от jwt
благо там уже ключи подписанные сертификатом можно юзать
осталось только этот jwt в файл сохранить и предоставить возможность входить через загрузку этого файла
т.е. работы минут на 20, где 18 из них - тупо вёрстка
я где-то ошибаюсь или не так понял всё?
Anton Vorontsov
@symbios-zi
Jan 10 2017 20:12
@SerafimArts я тоже не въехал. Обычно если технология известная, много чтива. А тут что ничего
@orionych через $_SERVER передаются данные?
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 20:16
я только не понял нафига ssl на прикладном уровне переписывать
Anton Vorontsov
@symbios-zi
Jan 10 2017 20:17
@SerafimArts ssl помоему вообще не для аутентификации создан. Его задача обезопасить связь
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 20:17
ssl - это безопасное сокетное соединение вообще
т.е. протокол передачи данных с использованием доверенного сервера-посредника, который организует хендшейк
Anton Vorontsov
@symbios-zi
Jan 10 2017 20:18
@SerafimArts jwt это мейнстрим. вот и рождаются костыли
Kirill Nesmeyanov
@SerafimArts
Jan 10 2017 20:19
ну jwt - это просто идея использования шифрованных данных для аутентификации
если прям грубо так
будут ли они шифроваться симметрично или нет - на всё воля разраба
orionych
@orionych
Jan 10 2017 20:22
@symbios-zi ага
@symbios-zi считай аутентификация это его следующий уровень - так есть открытый и закрытый ключ - а так у пользователя ключ подписывается еще ключом сервера
короче вполне секюрно
Anton Vorontsov
@symbios-zi
Jan 10 2017 20:26
@orionych но не по назначению
orionych
@orionych
Jan 10 2017 20:27
@symbios-zi в смысле? вполне по назначению - для этого и создавался
@symbios-zi но не для открытых проектов - это да - однако скоро гугл не ssl сайты будет слать как ненадежные и придется переходить на ssl
Anton Vorontsov
@symbios-zi
Jan 10 2017 20:34
@orionych ssl о соединениях, а не об аутентификации
player0k
@player0k
Jan 10 2017 20:59
В ларе есть надстройка которая позволяет убрать лишние табы и пробелы в хтмл перед рендерингом?
Между тегами
player0k
@player0k
Jan 10 2017 21:10
This message was deleted
Artyom Mezin
@Sogl
Jan 10 2017 22:34
Всем привет! Как тут можно получить в итоге лишь массив id-шников: $employees = Employee::select('id')->whereNotIn('id', array_unique($result))->get(); ? Если добавить в конце ->toArray(), то на выходе все равно массив в массиве
KarmaBot
@KarmaBot
Jan 10 2017 22:34
Будь как дома, @Sogl, я ни в чем не откажу. Много мануалов, коль желаешь, покажу :)
Artyom Mezin
@Sogl
Jan 10 2017 22:51
В общем, хелпер-функция array_pluck() мне помогла :smile:
player0k
@player0k
Jan 10 2017 22:56
В Ларавеле 5.3 из коллекции можно вызвать ->pluck('id')->all()
Artyom Mezin
@Sogl
Jan 10 2017 23:00
@player0k Спасибо, работает: $employees = Employee::select('id')->whereNotIn('id', array_unique($result))->get()->pluck('id')->all();
KarmaBot
@KarmaBot
Jan 10 2017 23:00
Спасибо (+1) для @player0k принято! Текущая карма +5.