
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

Aleksandr
01.11.2017
14:09:13
а, понял

Anton
01.11.2017
14:09:56

Admin
ERROR: S client not available

Anton
01.11.2017
14:10:00
request

John
01.11.2017
14:10:04

Anton
01.11.2017
14:11:05
Total 149k
ну то есть по ходу чтение r.Body опирается на заголовок Content-Length и останавливается, если прочитал сколько указано
собственно, если сделать заголовок Content-Length больше, чем сам файл, то ответа вообще никакого не приходит

Aleksandr
01.11.2017
14:14:06

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

John
01.11.2017
14:17:28

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

Aleksandr
01.11.2017
14:22:48

John
01.11.2017
14:23:59
и удаление хедера, в теории, не поможет
но ты проверь :)

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

Konstantins
01.11.2017
14:45:55

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. вопрос: в чем я накосчил?
в чем может быть косяк?*