
Denis
04.04.2017
22:32:42
Я чуть из контекста выпал, сорри
Вообще есть другой вариант - брать ключи из энва

Google

Denis
04.04.2017
22:34:08
Тоже распространённая практика, так как ключи не будут в кодовой базе, приложение получить только в рантайме

Eugene
04.04.2017
22:34:46
Да, но допустим, я перезапустил сервис, ключи пропали. Что делать?

Denis
04.04.2017
22:35:46
Там логика в том, что ты хранишь переменные энва в файле на проде
Т е специально там создаёшь

Dmitry
04.04.2017
22:36:04
@iorlas ты ему сейчас голову заморочишь только.

Denis
04.04.2017
22:36:22

Eugene
04.04.2017
22:36:32
Ну и какая тогда разница с ini файлом? Это то же самое. Я читаю ключи из файла и сразу его закрываю

Denis
04.04.2017
22:36:38
Вообще не парься, Жень, делай с ини, ну правда

Dmitry
04.04.2017
22:36:47

Denis
04.04.2017
22:37:08
Не совсем, ини файл у тебя конфигурационный, храниться будет ещё и в репе

Eugene
04.04.2017
22:37:13
Я читал, там каких-то конкретных рекомендаций нет.

Denis
04.04.2017
22:37:21
А энвацронмент настраивается отдельно от приложения

Eugene
04.04.2017
22:37:25
Нет, в репе не хранится, это другой файл, просто формат удобный

Google

Denis
04.04.2017
22:38:10
А некоторые через env прямо в systemd прикидывают токены :D
Прокидывают

amureki
04.04.2017
22:38:28
os.getenv('mysecretkey') куда уж проще)

Denis
04.04.2017
22:38:35
Угу
Но реально, не стоит морочить голову
Дмитрий правильно подметил выше )
С ини проще
Я вообще юзаю конфигурационные объект: app.config.from_object('settings')

Eugene
04.04.2017
22:41:16

Denis
04.04.2017
22:41:22
Короче с планшета на битбакете не покопировать
Тип того

amureki
04.04.2017
22:41:39

Denis
04.04.2017
22:41:39

Dmitry
04.04.2017
22:41:46
причём здесь конфигурация и среда? о_0 Речь о полученных токенах авторизации, это не конфигурационная информация

Denis
04.04.2017
22:41:54
Файл енва подгружается
А

Eugene
04.04.2017
22:42:19
Вот я получил токены, как я их смогу использовать, если перезапущу своё приложение?

amureki
04.04.2017
22:42:28
Я думал мы про ключи и секреты) времянку не надо, лол

Denis
04.04.2017
22:42:29

Google

Denis
04.04.2017
22:42:39

Eugene
04.04.2017
22:42:54
Это не времянка же

Denis
04.04.2017
22:42:59

Dmitry
04.04.2017
22:43:03
а что это?

Denis
04.04.2017
22:43:20
Рефреш токен не всегда дают

Dmitry
04.04.2017
22:43:31
> С OAuth разбирался пол дня и так и не придумал, как лучше и безопаснее всего хранить полученные токены
какие такие токены от oauth, но при этом не временные?
может ты про апи-кей какой-то говоришь всё же?
его да, фигани в конфиг, какой угодно

Eugene
04.04.2017
22:44:07
Погодите, вот пользователь установил к себе в slack моё приложение, я получил токены. Эти токены сколько живут? Пока пользователь не сделает revoke?

Denis
04.04.2017
22:44:45

Dmitry
04.04.2017
22:44:49
да, это в редис.

Denis
04.04.2017
22:44:51
И требуется либо рефрешить

Dmitry
04.04.2017
22:45:00
как именно это всё у них работает - см. доку слака

Denis
04.04.2017
22:45:01
Либо просить пользователЯ ещё раз

Eugene
04.04.2017
22:45:26

Denis
04.04.2017
22:46:16
>Authorization codes may only be exchanged once and expire 10 minutes after issuance.

Dmitry
04.04.2017
22:46:20
> Эти токены сколько живут?
как правило вместе с токенами приходит и TTL на них

Denis
04.04.2017
22:46:49
Ай нет

Google

Eugene
04.04.2017
22:46:51
Это не коды авторизации, они не живут 10 минут.

Denis
04.04.2017
22:47:25
Please note that these access tokens do not expire.
Там пометк есть ))
Всё гуд

Eugene
04.04.2017
22:47:49
Да я говорю, они вечные, пока не сделаешь revoke

Denis
04.04.2017
22:47:50
Да, кек Дмитрий сказал, в редиску

Dmitry
04.04.2017
22:48:18
ты обмениваешь авторизационные коды (TTL 10 минут) на акцесс-токены (TTL бесконечный)
акцесс-токены кладёшь в редис
если попытался постучаться, а токен умер (юзер отозвал) просишь всё заново
https://api.slack.com/docs/oauth

Admin
ERROR: S client not available

Dmitry
04.04.2017
22:49:04
по-моему вполне внятно всё написано

Eugene
04.04.2017
22:49:20
Это я читал, да

Dmitry
04.04.2017
22:51:00

Eugene
04.04.2017
22:51:08
Но всё же, чисто практически, в чем разница между redis и файлом на диске?

Dmitry
04.04.2017
22:51:15
ну и в крайнем случае просто просишь их заново, как и в случае с revoke

Eugene
04.04.2017
22:53:00
В общем, спасибо! Если что, я ещё поспрашиваю? :)

Dmitry
04.04.2017
22:54:19
ты всю ночь планируешь эту приблуду ковырять? =)
кстати, линтер не ругается на нарушение pep8? я про импорты внутри функции, да ещё и разбросанные по строчкам

Google

Dmitry
04.04.2017
23:01:06
Зачем так было сделано? о_0

Denis
04.04.2017
23:04:50
Если честно, не помню
Старый код
Возможно было связано с не инициализированным приложением на момент импорта
Или необходимостью не инициализировать модули до создания приложения
На вскидку не помню, я сегодня чуть овощ :(

Dmitry
04.04.2017
23:06:34
> иногда это необходимость
_редко_ когда. При циклических импортах лучше зарефакторить. Но здесь же вообще сторонние пакеты
> не помню чтобы в пепе было это запрещено
https://www.python.org/dev/peps/pep-0008/
Imports are always put at the top of the file, just after any module comments and docstrings, and before module globals and constants.

Denis
04.04.2017
23:07:32
В плане времени, когдамонолит вокруг этого настроили )

Dmitry
04.04.2017
23:07:56
повторюсь, на скриншоте импортятся сторонние модули )
скорми на досуге код проекта flake8, узнаешь кучу интересных штук наверняка

Denis
04.04.2017
23:08:16
Да я не про этот пример )
Дык скармливаю
Возможно в игнорах есть ворнинги и туда попало

Eugene
04.04.2017
23:08:49
ты всю ночь планируешь эту приблуду ковырять? =)
Да, наверное, почти всю ночь. Типа надо срочно. Это в нашей небольшой компании хотят показать некие наработки по интеллектуальному поиску некой инфы, оформленное в виде slack-приложения с красивыми графиками и т.п.

Denis
04.04.2017
23:08:55
Надо глянуть почему не ругнулся

Eugene
04.04.2017
23:09:19
А так как я ни разу не веб программист, мне всё это несколько напряжно

Dmitry
04.04.2017
23:09:24
нет повести печальнее на свете

Eugene
04.04.2017
23:10:18
Есть парочка, но они на других проектах и я с ними не общаюсь, совсем другая команда в другом городе.
Зато это некий challenge :)

Dmitry
04.04.2017
23:10:53
ну, поспи хоть часа три, когда продуктивность упадёт