Обязательно ли проходить аутентификацию в GitHub, используя запросы с моим именем пользователя и генерацию токена в GitHub? - PullRequest
1 голос
/ 06 июля 2019

Я пытаюсь использовать GitHub API для получения информации о репозиториях, получая ее как JSON. Я использую для этого библиотеку «запросов». Я хочу пройти аутентификацию с моей учетной записью, чтобы получить ограничение скорости 5000 запросов вместо 60 без аутентификации. Проблема в том, что я не уверен, что это решение может быть безопасным

Я использую это решение, но я хочу знать, что это хороший способ для запросов или есть лучший способ?

url_repository = 'https://api.github.com/repos/XXXXX/YYYYY'
resp = requests.get(url=url_repository, auth=('username','token')
data = resp.json() 

Я ожидал безопасного решения.

1 Ответ

2 голосов
/ 06 июля 2019

Во-первых, всегда проверяйте, что связь осуществляется через https, чтобы информация была зашифрована между вами и сервером. Модуль requests работает в соответствии с указанным вами URL.

Во-вторых, хранение учетных данных в виде простого текста в коде почти никогда не является хорошей идеей. Я бы предложил использовать встроенный модуль getpass .

Этот модуль позволяет вам вводить токен, не возвращая его обратно в эмулятор терминала и не сохраняя его в вашем коде.

Это требует, чтобы вы вводили свой токен каждый раз, когда запускаете скрипт, но это компромисс, который вы должны сделать, если вы хотите перейти к более защищенному решению.

Пример кода

import getpass
url_repository = 'https://api.github.com/repos/XXXXX/YYYYY'
username = getpass.getuser()
token = getpass.getpass('Token: ')
resp = requests.get(url=url_repository, auth=(username, token)
data = resp.json() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...