У меня есть серверная часть фляги, которая подключена к приложению Android и интерфейсу через API.
У нас есть некоторые проблемы с аутентификацией в интерфейсе.
Когда интерфейсзапрашивает мой API для входа в систему, мой API возвращает 200 (успех), но затем, когда мы хотим запросить другой API, мы сталкиваемся с ошибкой 401 (auth).
На стороне сервера я использую LoginManager для обработки аутентификации:
def login():
if request.method == 'POST' :
req = request.get_json()
email = req["email"]
password = req["password"]
stored_user = User_Model.email_query (email)
if (stored_user is not None) and (stored_user.check_password(password)):
login_user (stored_user)
session ['user_id'] = stored_user.id
session ['role'] = stored_user.role
out = {'user':stored_user.serialize_one(), 'status':'OK'}
return jsonify (out)
У нас была та же проблема с приложением для Android, но мы исправили эту проблему, отправив сеанс с Android на Flashi API.
(я думаю, что код похож на это в Android):
CookieJar cookieJar =
new PersistentCookieJar(new SetCookieCache(), new
SharedPrefsCookiePersistor(context));
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.cookieJar(cookieJar)
.build();
ПРИМЕЧАНИЕ: когда я удаляю @login_required из функции просмотра, которая запрашивается, проблем нет.но когда я его поставил, мы получили ошибку 401, хотя логин вернул 200!
Может ли кто-нибудь помочь нам решить эту проблему во внешнем интерфейсе?