
Constantine
05.02.2017
23:14:37
если наступит момент, что злоумышленник угнал токен, то его нужно инвалидировать. срок жизни не спасает

Paul
05.02.2017
23:16:16
если вопрос в том, чтобы токен умирал по указке и гарантированно мгновенно, то иного способа, чем постоянная проверка в хранилище токенов я не вижу

Konstantin
06.02.2017
05:17:14

Demiurg
06.02.2017
05:19:03
Всем доброго утра! Написал небольшой сервис с использованием net/http, а в доп. требованиях появилось ограничение на кол-во входящих соединений - и вот тут я залип. Не понимаю как это прикрутить?

Google

Dmitry
06.02.2017
05:22:20
спрячь за nginx

Demiurg
06.02.2017
05:22:56
вариант конечно, но всеже хочется понять

Dmitry
06.02.2017
05:23:30
ну сложно там
вроде бы. крутилки нету, механизма нету, вроде нужно свой листенер костылить

ros
06.02.2017
05:39:47

Phil
06.02.2017
06:03:49

Demiurg
06.02.2017
06:04:29
с миддлваре вариант понятен. интересует именно листнер

Phil
06.02.2017
06:04:33
токен должен быть короткий
кстати забавно.токены все популярные либы кк один генерят uuid'ом... не используя конечно разрешенные в токене символы

corpix
06.02.2017
07:23:38

Konstantin
06.02.2017
07:24:43
да эти расты какие-то непопулярные совсем...

corpix
06.02.2017
07:25:51
Вопрос времени

Google

Daniel
06.02.2017
07:26:23
почему?
чтобы вопрос о его инвалидации не ставился
те же twilio рекоммендуют выдавать токен на секунды
максимум - десятки секунд

Phil
06.02.2017
07:26:48

Viktor
06.02.2017
09:42:50
хм, а net.Conn.Write потокобезопасен, или нет?


Phil
06.02.2017
09:52:06
Госпадя, Боже мой, люди. Я так RFC перестану читать. Что у людей в головах, когда они их пишут? Сколько этот долбанный Oauth2 разрабатывали фирмы с ярдами баксов в активе? Хотя это ко всем RFC относится.
Отвечаю на свой вчерашний вопрос про "правильный/красивый" обыгрышь аутентификации через социалочки в OAuth2 API.
На самом деле PASSWORD GRANT это вообще неправильно и сделано как затычка (вот первое место, где у людей были не все дома). Причем это и архитектурная затычка. Потому что если есть только code/client grants, то та часть, которая отвечает за "Access" имеет очень простую структуру базы - Clients, Tokens, Authcodes. Соответственно со стороны части "Authorization" инсертятся Authcodes (и Tokens для implicit grant, но это можно внутри обыграть иначе), со стороны уже внутренней сервиса инсертятся, апдейтятся и удаляются Clients. Всё, замкнутая система. А вот какашка с PASSWORD и иже с ним - в часть "Access" надо ещё пихать и Users. Судя по коду разному, который я вижу - тут вообще ступор у всех либ. Кто в лес, кто по дрова.
А как же правильно, спросите вы? А правильно большинство операций, в которых я хочу авторизоваться так или иначе дёргая "Resource owner", делать через CODE/IMPLICIT GRANT и соответственно развивать часть "Authorization Request" Oauth2, а не как добрая половина - новые гранты. Или как например Google, который использует некий OATH (я спеку открыл, у меня глаза от количества буков вытекли и я её закрыл). Сделать отдельный endpoint для конфирма того же логина/пароля. Собственно проблема сегодняшнего /authorisation в том, что я заставляю делать клиента лишнее действие и подвязываю свой дизайн на хрен знает что. А так можно и без отдельного даже endpointa всё сделать. Что-то типа iframe ) Сюда же и хоть пятифакторная авторизация - это задача конкретно этой части по смыслу вообще OAuth2.


Roman
06.02.2017
12:38:43
http://www.brendangregg.com/blog/2017-01-31/golang-bcc-bpf-function-tracing.html


Denis
06.02.2017
12:51:19
Госпадя, Боже мой, люди. Я так RFC перестану читать. Что у людей в головах, когда они их пишут? Сколько этот долбанный Oauth2 разрабатывали фирмы с ярдами баксов в активе? Хотя это ко всем RFC относится.
Отвечаю на свой вчерашний вопрос про "правильный/красивый" обыгрышь аутентификации через социалочки в OAuth2 API.
На самом деле PASSWORD GRANT это вообще неправильно и сделано как затычка (вот первое место, где у людей были не все дома). Причем это и архитектурная затычка. Потому что если есть только code/client grants, то та часть, которая отвечает за "Access" имеет очень простую структуру базы - Clients, Tokens, Authcodes. Соответственно со стороны части "Authorization" инсертятся Authcodes (и Tokens для implicit grant, но это можно внутри обыграть иначе), со стороны уже внутренней сервиса инсертятся, апдейтятся и удаляются Clients. Всё, замкнутая система. А вот какашка с PASSWORD и иже с ним - в часть "Access" надо ещё пихать и Users. Судя по коду разному, который я вижу - тут вообще ступор у всех либ. Кто в лес, кто по дрова.
А как же правильно, спросите вы? А правильно большинство операций, в которых я хочу авторизоваться так или иначе дёргая "Resource owner", делать через CODE/IMPLICIT GRANT и соответственно развивать часть "Authorization Request" Oauth2, а не как добрая половина - новые гранты. Или как например Google, который использует некий OATH (я спеку открыл, у меня глаза от количества буков вытекли и я её закрыл). Сделать отдельный endpoint для конфирма того же логина/пароля. Собственно проблема сегодняшнего /authorisation в том, что я заставляю делать клиента лишнее действие и подвязываю свой дизайн на хрен знает что. А так можно и без отдельного даже endpointa всё сделать. Что-то типа iframe ) Сюда же и хоть пятифакторная авторизация - это задача конкретно этой части по смыслу вообще OAuth2.
ты хотел авторизацию через вк по паре логин\пароль?
вся суть аутха это передача прав на ресурс 3 лицу без логина и пароля )))
тигры, как в мейкфайле или баше распараллелить задачи (сборку, компиляцию)?


Berkus
06.02.2017
12:53:41
make -jX
линковка в общем случае не параллелится

Denis
06.02.2017
12:54:58
таска одна - build, но в нем скрипт нга баше который собирает гошные микросервисы порядка 40 штук, сейчас все линейно идет
это является траблой на деве, очень долго происходит сборка
а вручную указывать какие именно проекты собирать влом
это не совсем что мне нужно?
он просто запустить икс раз мой скрипт
*джобсу

Google

Berkus
06.02.2017
12:58:03
ну ты тогда задавай вопрос как-то правильней
можно через мейк прописать депенденси на все 40 сервисов и собирать их тоьлко когда они поменялись, хоть башем хоть чем угодно
если мейку сказать параллелить то он будет эти баши запускать параллельно

Denis
06.02.2017
12:59:18
окей, есть баш скрипт который запускает сборку проектов на го, но линейно, я вызвыаю его из мейка, сам мейк ничего не знает о конткрентных проектах

Viktor
06.02.2017
12:59:25
мейк комплиляет паралельно, но линкует в один поток

Berkus
06.02.2017
12:59:33
да линковать не надо ничего
надо поменять с баш скрипта на нормальный депенденси

Denis
06.02.2017
13:00:39
можно ссыль? или что гуглить

Berkus
06.02.2017
13:00:53
all: microserv1 microserv2 ....
microserv1: $microserv1_files
go build microserv1
и так сорок раз

Denis
06.02.2017
13:01:20
и all будет идти параллельно?
то что нужно, сенкс

Berkus
06.02.2017
13:01:39
если ты запустишь make -jX то да, в X потоков

Viktor
06.02.2017
13:02:19
а если в проекте стопицот тысяч строк, можно ли оно распаралелить?
у меня правда такого нет, мне просто интересно)

Berkus
06.02.2017
13:02:35
из плюсов - оно не будет пересобирать те микросервисы которые не изменились

Denis
06.02.2017
13:02:46
вышка

Berkus
06.02.2017
13:02:53

Viktor
06.02.2017
13:03:44
тысяч строк чего?
ну, к примеру проект на го, тысячи, десятки тысяч строк кода на го, все в рамках одного проекта. можно ли go build myservice распаралелить?

Berkus
06.02.2017
13:04:05
подозреваю что этим go build уже и так занимается

Google

Viktor
06.02.2017
13:04:57
хм, ну ладно... мне просто интересно) у меня пока-что сотни строк кода, и компиляется все за секунды, и особо не напрягает) просто интересно как дальше будет)

Berkus
06.02.2017
13:06:35
build -p надо
но он по дефолту по-моему уже на количество ядер устанавливается, поэтому go build параллелит сразу

Viktor
06.02.2017
13:07:32
хм, ну ок, буду знать, спасибо!)

Berkus
06.02.2017
13:07:37
https://golang.org/src/cmd/go/build.go#L154 пруф

Илья
06.02.2017
13:47:17
кроме того пекиджи закешированы как бинарики, если связанность правильная, то это сильно помогает

Subbotin
06.02.2017
13:54:01
пацаны, а go-qml кто-нить щупал? оно вообще живо?
в плане там есть форки и их явно пилят, но вопрос можно ли на них что-нить делать или уебёшься?

Admin
ERROR: S client not available

kuznetsovin
06.02.2017
14:12:46
вообще у го с GUI все плохо

Alexei
06.02.2017
14:13:12

Subbotin
06.02.2017
14:13:25
ну вот. мнения разделились
я смотрю там сборку под 1.6 до сих пор не пофиксили

kuznetsovin
06.02.2017
14:14:00
у меня с ним возникли проблемы при сборке на win

Alexei
06.02.2017
14:14:31
я просто, в свое время, qt-ями баловался, вполне норм, тут решил, не выделяться из массы и попробовал накидать небольшой гуй с qml, просто сами qml для меня непривычные, в остальном все красиво

kuznetsovin
06.02.2017
14:14:32
у меня так и не получилось собрать приложени, чтобы оно работало без установленного Qt

Alexei
06.02.2017
14:14:42
у меня вынь - нету, поэтому проблем не возникло ))))

Subbotin
06.02.2017
14:16:14
ну зачем статично обязательно?

Google

Subbotin
06.02.2017
14:16:26
просто можно втащить все либы в папочку с приложением

kuznetsovin
06.02.2017
14:16:30

Subbotin
06.02.2017
14:16:55
короче я все понял. пошёл на pyqt

Alexei
06.02.2017
14:17:02

kuznetsovin
06.02.2017
14:17:05
+

Alexei
06.02.2017
14:17:14

kuznetsovin
06.02.2017
14:17:17

Kirill
06.02.2017
14:17:35

Subbotin
06.02.2017
14:17:49
мне ехать
а не шашечки

kuznetsovin
06.02.2017
14:18:55
на pyqt - 20Мб, я так и не понял этого прикола

Subbotin
06.02.2017
14:19:50
очевидно втаскивалось лишнее
у меня pyqt cчас собирается в 38 мегабайт
под мак

kuznetsovin
06.02.2017
14:21:02
но они весили адски
поэтому я тоже на pyqt решил сделать

Subbotin
06.02.2017
14:24:25
меня ещё смущает qml но под мою текущую задачу он лучше подходит

kuznetsovin
06.02.2017
14:25:19
там везде qml файл таскать, мне это тоже не очень нравится

?FLERRY?
06.02.2017
15:37:45
Ребята, слушайте. Читал кто Саммерфильда? Как он?