Токен Flutter AWS Cognito, показывающий недопустимую подпись

#amazon-web-services #flutter #dart #amazon-cognito #aws-amplify

#amazon-веб-сервисы #флаттер #dart #amazon-cognito #aws-усиление

Вопрос:

Я занимаюсь разработкой проекта flutter с функциями входа в AWS Cognito. В flutter вход в систему AWS Cognito работал нормально, и я получаю токен доступа, но при проверке этого в API или JWT он показывает ошибку «Недопустимая подпись».

введите описание изображения здесь

Я добавляю приведенный ниже код для функций входа в AWS Cognito. Я установил файл amplify_auth_cognito: '<1.0.0' in pubspec.yaml для создания функций входа в AWS Cognito в приложении. Коды входа работают нормально и безупречно, но токен, который возвращается из этого кода, показывает «Недопустимую подпись».

   Future<String> _signIn(LoginData data) async {
try {
  SignInResult res = await Amplify.Auth.signIn(
    username: data.name,
    password: data.password,
  );
  final resp = await Amplify.Auth.fetchAuthSession(
    options: CognitoSessionOptions(getAWSCredentials: true),
  );
  if (resp.isSignedIn) {
    final sess = resp as CognitoAuthSession;
    print("TOKEN FROM THE COGNITO: ${sess.userPoolTokens.accessToken}");
  }
  setState(() {
    isSignedIn = res.isSignedIn;
  });
  if (isSignedIn) {
    _btnController.success();
    AWSConfigurationHelper().getUserDetails();

    Timer(Duration(seconds: 1), () {
      _btnController.reset();
      Navigator.pushReplacementNamed(context, DeviceList.routeName);
    });
  }
} on AuthError catch (e) {
  Alert(
    context: context,
    type: AlertType.error,
    title: "Login Failed",
    desc: e.cause.toString(), //e.toString(),
  ).show();

  _btnController.error();

  Timer(Duration(seconds: 1), () {
    _btnController.reset();
  });

  print(e.cause);

  for (final exception in e.exceptionList) {
    print(exception.exception);
    print(exception.detail);
  }

  return 'Log In Error: '   e.toString();
}}
 

Был прикреплен скриншот моего файла pubspec.yaml. В этом файле, который я использую amplify_auth_cognito: '<1.0.0' для входа в Cognito.

введите описание изображения здесь

Я новичок в этом Флаттере, поэтому мне действительно нужна чья-то помощь, чтобы решить эту проблему. Я использовал функции входа AWS Cognito в iOS и web с теми же учетными данными AWS, но там я не получаю такого типа проблемы с «недопустимой подписью» в токене доступа. Кто-нибудь, пожалуйста, помогите мне, потому что я не являюсь хорошей ссылкой, где обсуждался этот тип проблемы.

Заранее спасибо

Комментарии:

1. Здесь та же проблема. Вы нашли какое-либо решение?

2. Да, я получил решение, в котором нет ничего, кроме ошибки печати журнала из Visual Studio. В журнале Visual Studio печатается только 1000 символов, поэтому, если вы скопируете токен AWS Cognito из журнала, токен покажет проблему с «недопустимой подписью». Итак, сначала вы проверяете длину токена. Если длина токена превышает 1000 символов, тогда выведите другие символы и объедините их, и вы получите правильный токен.