В моем Flask API я вызываю API REST Bitbucket, чтобы получить список всех групп пользователей.Чтобы получить этот список, я должен передать пароль пользователя.Итак, вот мой код:
@app.route('/v1/api/bitbucket/groups')
def get_groups():
list_groups = []
groups = requests.get("https://api.bitbucket.org/1.0/groups/myaccount/")
resp = groups.json()
for item in resp:
list_groups.append({'name': item['name']})
return jsonify( {'results': list_groups} )
Когда я делаю это в 4-й строке:
groups = requests.get("https://api.bitbucket.org/1.0/groups/myaccount/", auth=HTTPBasicAuth('username', 'pass'))
Я получаю следующий результат, когда скручиваю свою конечную точку:
{
"results": [
{
"name": "group_tools_dev"
},
{
"name": "group_dev"
},
{
"name": "group_333222"
},
{
"name": "group_333"
}
]
}
Итак, я хочу выполнить аутентификацию при вызове curl, не обрабатывая библиотеки аутентификации Flask, потому что здесь я аутентифицируюсь в bitbucket, а не в самом приложении, поэтому я хочу, чтобы он работал, когда я делаю этозапрос:
curl -u username:password http://localhost:5000/v1/api/bitbucket/groups
Возможно ли это?
Может быть, мы можем использовать секретную пару ключей OAuth?
Я пробовал это:
username = request.args.get('secret')
password = request.args.get('key')
groups = requests.get("https://api.bitbucket.org/1.0/groups/myaccount/", auth=HTTPBasicAuth(username, password))
Но это не сработало.