#laravel #flutter #dart #jwt #flutter-layout
Вопрос:
Я использую flutter для разработки мобильных приложений и laravel для разработки api,в postman это работает отлично, но я нашел авторизацию ошибок во Flutter. ошибка заключается в возврате этого сообщения:
{ сообщение : «Не прошедшее проверку подлинности»}
кодовое трепетание:
_getToken() async {
SharedPreferences _prefs = await SharedPreferences.getInstance();
token = jsonDecode(_prefs.getString('token'));
}
_setHeaders() => {
'Content-type' : 'application/json',
'Accept' : 'application/json',
'Authorization' : 'Bearer $_getToken()'
};
а это кодовое промежуточное программное обеспечение laravel:
public function handle($request, Closure $next, ...$guards)
{
if ($jwt = $request->cookie('jwt')) {
$request->headers->set('Authorization', 'Bearer ' . $jwt);
}
$this->authenticate($request, $guards);
return $next($request);
}
как устранить эту ошибку и спасибо.
Комментарии:
1. выведите эту строку:
'Authorization' : 'Bearer $_getToken()'
Ответ №1:
Вы не возвращаете значение токена из _getToken()
функции. Поэтому здесь вы не добавляете маркер в заголовки: 'Authorization' : 'Bearer $_getToken()'
Комментарии:
1. та же проблема, что и у меня, не прошедшего проверку подлинности
Ответ №2:
Вы _getToken()
должны что-то вернуть. Вот пример.
String _getToken(){
return 'token';
}
Если вы используете back, ваша функция все еще может работать. Используйте token
вместо использования _getToken()
, потому что ваша функция ничего не возвращает.
'Authorization' : 'Bearer $token'
Комментарии:
1. Та же проблема, что и у меня, не прошедшего проверку подлинности