#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 символов, тогда выведите другие символы и объедините их, и вы получите правильный токен.