在我的Flask API中,我调用Bitbucket的API REST以获取所有用户组的列表。 要获得此列表,我必须传递用户名密码。 所以这是我的代码:
@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} )
当我在第四行中这样做时:
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))
但这没用。