@proGO

Страница 965 из 1674
Konstantins
01.11.2017
12:08:12
ну вообще процедура такая

получаешь на стороне клиента серверный код

его отдаешь серверу

сервер идет в фб/гугл с этим кодом

Google
Konstantins
01.11.2017
12:09:09
ты же никак на сервере не авторизуешь пользователя, если он ничего не вводит

Roman
01.11.2017
12:10:26
аа, кажись понял, при нажатии "Sign up via Facebook" через Facebook SDK отправляется запрос на access token, дальше с помощью токена на сервере запрашиваем данные

Konstantins
01.11.2017
12:10:27
ну либо получаешь клиентский токен и с ним идешь в АПИ за данными

только

если через сервер, то запрашивать нужно не токен, а серверный код

если тебе для регистрации, то лучше так и делать

в случае гугла это вроде параметр access_type=code

Roman
01.11.2017
12:11:34
Konstantins
01.11.2017
12:12:16
это код, с которым сервер ходит в гугл/фб/втф для того, чтобы получить accessToken

чтобы по сетке между клиентом и сервером accessToken не гулял

Roman
01.11.2017
12:12:50
refresh token?

Konstantins
01.11.2017
12:12:53
без твоего приватного серверного ключа этот код будет бесполезен

нее

Google
Konstantins
01.11.2017
12:13:06
рефрешТокен нужен для обновления аксессТокена

https://developers.google.com/identity/protocols/OAuth2WebServer

https://accounts.google.com/o/oauth2/v2/auth? scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.metadata.readonly& access_type=offline& include_granted_scopes=true& state=state_parameter_passthrough_value& redirect_uri=http%3A%2F%2Foauth2.example.com%2Fcallback& response_type=code& client_id=client_id

response_type=code

вот такой ответ прилетит

https://oauth2.example.com/auth?code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7

типа того

этот код передаешь серверу, а он его меняет на токены

понял?

Roman
01.11.2017
12:17:26
эвоно как

Konstantins
01.11.2017
12:18:16
чио?

Roman
01.11.2017
12:18:19
спасибо)

Konstantins
01.11.2017
12:18:36
в первый раз сложно, потом за 10 минут будешь настраивать)

Roman
01.11.2017
12:18:58
как и в принципе всё остальное)

я с OAuth не первый раз сталкиваюсь, но первое знакомство было конечно тяжким

Андрюха (Ren)
01.11.2017
12:20:40
надо будет на досуге тоже пробнуть, думаю неплохой старт

Vlad
01.11.2017
12:33:39
Сам на gorm, а мать на...

Мы в проекте юзаем Горм, иногда не хватает гибкости (или не умеем полностью раскрыть его потенциал), но в целом очень довольны

Alexsey
01.11.2017
12:40:19
а как же reform ?:)

Alexey
01.11.2017
12:41:13
Да, как же reform?

Google
Alexsey
01.11.2017
12:41:34
О, не знал, что ты тут есть

Alexey
01.11.2017
12:42:03
Скорее, меня тут нет. Очень редко заглядываю

Alexsey
01.11.2017
12:59:44
У тебя телеграм-клиент видимо нотификейшны засылает на слово reform

Стремаюсь рассуждать о нем в присутствии автора, мало ли, ошибусь еще

Но вроде как за счёт НЕиспользования рефлекшна в процессе работы там все очень шустро

Относительно конкурентов

Но я мог все неправильно понять

:)

Никогда сам не юзал орм в го. Цитирую других людей

Что их?

Alexey
01.11.2017
13:11:26
Да запросы фигня, вот переменные потом в структуру собирать не оч

Alexsey
01.11.2017
13:12:23
У меня nosql в основном. В тех немногих случаях, где есть реляционные базы, пишу руками. Но такого мало

nezorflame
01.11.2017
13:13:48
тоже всю жизнь без орм жил и ничего

правда вот на новом месте приходится gorm юзать :(

Alexsey
01.11.2017
13:16:27
Но вообще я понимаю о чем вы

Может пол-проекта маппингов скопиться

Когда с аэроспайком из го работал, было такое

Alexey
01.11.2017
13:17:09
Ну пишешь на горм, если медленно - переписываешь узкое место руками, и ок.

Alexsey
01.11.2017
13:31:30
Так что про неленивость это ещё вопрос. Есть какие-нить orm-like поделки для aerospike?

Anton
01.11.2017
14:06:32
вопрос от новичка: если я читаю r.Body, где r *http.Request, а клиент отправил неверный заголовок Content-Length, можно это как-то узнать?

Google
Anton
01.11.2017
14:07:45
например, если вот есть такой тестовый хэндлер: func uploadImageHandler(w http.ResponseWriter, r *http.Request) { fh, err := os.Create("./test.jpg") if err != nil { panic(err) } n, err := io.Copy(fh, r.Body) if err != nil { panic(err) } fmt.Fprintf(w, "Received %v bytes", n) }

и отправить файл: $ curl -X POST -i -T "test.jpg" -H "Content-Length: 42" localhost:8080/images

то приходит ответ Received 42 bytes

Anton
01.11.2017
14:09:56
может r - response? ты же не свой body читаешь?
да, читаю то, что заслал клиент на раут

Admin
ERROR: S client not available

Anton
01.11.2017
14:10:00
request

John
01.11.2017
14:10:04
то приходит ответ Received 42 bytes
а сколько curl отправил по факту ?

Anton
01.11.2017
14:11:05
Total 149k

ну то есть по ходу чтение r.Body опирается на заголовок Content-Length и останавливается, если прочитал сколько указано

собственно, если сделать заголовок Content-Length больше, чем сам файл, то ответа вообще никакого не приходит

Anton
01.11.2017
14:14:45
а если вообще не указывать?
если не указываать, то он сам считает правильный размер и засовывает в заголовок

Aleksandr
01.11.2017
14:15:08
ну тогда зачем ручками указываешь неверный размер?

не указывай или указщывай правильный

John
01.11.2017
14:15:55
см строчку 665

смысл в том, если у нас есть этот хедер, то мы будем читать столько, сколько там есть, в хедере

Aleksandr
01.11.2017
14:17:19
Google
Anton
01.11.2017
14:17:37
ну тогда зачем ручками указываешь неверный размер?
ну с клиента просто может прийти всё, что угодно

trust no one

Aleksandr
01.11.2017
14:18:35
trust no one
тогда тебе надо поставить мидлварь, которая будет фиксить клиентский запрос

Anton
01.11.2017
14:22:23
тогда тебе надо поставить мидлварь, которая будет фиксить клиентский запрос
а, ну в принципе судя по transfer.go нужно просто удалить заголовок Content-Length

John
01.11.2017
14:23:59
а, ну в принципе судя по transfer.go нужно просто удалить заголовок Content-Length
Мне кажется, все эти хуки должны отработать раньше, чем запустится твой код

и удаление хедера, в теории, не поможет

но ты проверь :)

Anton
01.11.2017
14:25:13
но ты проверь :)
проверил, не помогает) да, скорее всего

ладно, может не стоит с этим заморачиваться

?
01.11.2017
14:42:57
2017 LLVM Developers' Meeting Videos https://www.youtube.com/playlist?list=PL_R5A0lGi1ADRlI51k7qV9gw1N4DBNUUW

nn
01.11.2017
15:15:14
server 127.0.0.1:22: r0ck3t Passwd: panic: Failed to dial: dial tcp: address tcp/22: unknown port

что я не так делаю

ой, сори, не дописал

проблема: хочу испольховать x/crypto/ssh забиваю clientconfig все при первом подключении было ок. но потом он постоянно началь выдавать лио no lookup host либо adress tcp/22 unknown port. вопрос: в чем я накосчил?

в чем может быть косяк?*

Страница 965 из 1674