Я получил колбу с различными приложениями внутри, используя BluePrint.Чтобы упростить, я получил API, который управляет веб-аутентификацией токена (и многими другими функциями данных), и веб-сайт, который должен вызывать API для получения действительного токена, используя базовую аутентификацию для начала с
. Проблемав том, что когда веб-сайт запрашивает API, он никогда не получает никакой обратной связи от API.
Запрос API через POSTMAN работает как чудо, но этот вызов ниже, сделанный из маршрута веб-сайтаждет, ждет, ждет и никогда не кончается.
Итак, я предполагаю, что проблема заключается в использовании одного и того же порта для веб-сайта и API.
Конечно, я могу разделить флягу на 2 приложения фляги с 2 серверами, но есть много объектов иИнструменты и API, и веб-сайта делятся, поэтому я не хочу удваивать работу
Спасибо.
звонок с сайта
from requests.auth import HTTPBasicAuth
import requests
mod = Blueprint('site', __name__, template_folder='templates/login')
def load_user(username, password):
data = requests.get('http://127.0.0.1:5000/api/login',
auth=HTTPBasicAuth('username', 'password'))
return data
@mod.route('/')
def index():
username = 'jeje'
password = 'jeje'
data = load_user(username, password)
return '<h1>load user<h1>'
функция API
@mod.route('/login')
def login():
resu = True
auth = request.authorization
if not auth or not auth.username or not auth.password:
resu = False
user = USER.query.filter_by(username = auth.username).first()
if not user:
resu = False
if validehash(user.password, auth.password):
period_in_mn = 120
payload = {
'public_id':user.public_id,
'exp' : datetime.datetime.utcnow() + datetime.timedelta(minutes = period_in_mn)
}
token = createtoken(payload, current_app.config['SECRET_KEY'])
if resu:
return jsonify({'token' : token })
else:
return jsonify({'token' : 'unknown'})