当前位置: 首页 > 知识库问答 >
问题:

Cognito错误I/flutter(4963):无效参数:PASSWORD参数是必需的

汪博艺
2023-03-14

我正试着跟着弗利特酒吧走。Cognito和AWS用户身份验证的开发文档。我正在构建一个Flatter移动应用程序,并且能够成功地将用户注册到我的AWS用户池中。我试图编码的登录功能,但它不会注册任何参数,我试图给它。i、 e密码和用户名(电子邮件)

我试着重新启动电脑,Android Studio,尝试遵循所有AWS文档,并在上面重新编写代码https://pub.dev/packages/amazon_cognito_identity_dart

AttributeArg ar1=AttributeArg(名称:“用户名”,值:userEmail);AttributeArg ar2=AttributeArg(名称:“密码”,值:userPassword);

final List<AttributeArg> authParams = [
  ar1,
  ar2,
];

AuthenticationDetails authDetails2 = AuthenticationDetails();

authDetails2.authParameters = authParams;

//final authDetails = new AuthenticationDetails(
//authParameters: authDetails2.getAuthParameters());

final authDetails =
    new AuthenticationDetails(authParameters: authDetails2.authParameters);

setCognitoUser();
CognitoUserSession session;

cognitoUser.setAuthenticationFlowType('USER_PASSWORD_AUTH');

try {
  //session = await cognitoUser.initiateAuth(authDetails);
  session = await cognitoUser.authenticateUser(authDetails);
  // username: userEmail, password: userPassword));
} catch (e) {
  print(e);
}
print(session.getAccessToken().getJwtToken());

I/flutter(4963):无效参数: PASSWORD参数是必需的E/flutter(4963):[ERROR: flutter/lib/ui/ui_dart_state.cc(148)]未处理的异常: NoSuchMultiodError:方法'getAccessToken'被调用为空。E/flutter(4963):接收器:空E/flutter(4963):尝试调用:getAccessToken()E/flutter(4963):#0 Object.no方法(省道:核心补丁/object_patch.dart:50: 5)E/flutter(4963):#1 Globals.logInUser(包:neurominer_app/globals.dart:76: 19)E/flutter(4963): E/flutter(4963):#2_LoginScreenState.build.(包:neurominer_app/屏幕/login_screen.dart:155: 34)E/flutter(4963):#3_InkResponseState_handleTap(包:flutter/src/材料/ink_well.dart:635: 14)E/flutter(4963):#4_InkResponseState.build.(包:flutter/src/材质/ink_well.dart:711: 32)E/flutter(4963):#5 GestureRecognizer.invoke回调(包:flutter/src/手势/recognizer.dart:182: 24)E/flutter_checkUp(包:flutter/src/手势/tap.dart:365: 11)E/flutter(4963):#7 TapGestureRecognizer.handlePrimaryPointer(包:flutter/src/手势/tap.dart:275: 7)E/flutter(4963):#8 PrimaryPointerGestureRecognizer.handle事件(软件包: flutter/src/手势/recognizer.dart:455: 9)E/flutter(4963):#9 Pointer路由器_dispatch(软件包: flutter/src/手势/pointer_router.dart:75: 13)E/flutter(4963):#10 PointerRouter.route(软件包: flutter/src/手势/pointer_router.dart:102: 11)E/flutter(4963):#11_WidgetsFlutterBinding

共有1个答案

寇桐
2023-03-14

从中更正代码https://pub.dev/packages/amazon_cognito_identity_dart

只需要确保,由于我在多个屏幕(导入类和调用方法进行用户身份验证)之间拆分代码,所以使用有效的用户名和密码(非空)值进行身份验证。

final userPool = new CognitoUserPool(
    'ap-southeast-1_xxxxxxxxx', 'xxxxxxxxxxxxxxxxxxxxxxxxxx');
final cognitoUser = new CognitoUser(
    'email@inspire.my', userPool);
final authDetails = new AuthenticationDetails(
    username: 'email@inspire.my', password: 'Password001');
CognitoUserSession session;
try {
  session = await cognitoUser.authenticateUser(authDetails);
} catch(e){
  print(e);
}
 类似资料:
  • 在使用Selenium进行远程测试时,切换到新窗口时遇到一些问题。我在本地测试时没有问题,但在远程测试时,它不断显示“handle”一定是字符串错误。我已经检查了我的代码,并确保我的窗口参数是字符串。有人请帮忙。 下面是代码和生成的错误。 异常错误 扔到这里: OpenQA。硒。WebDriverException:'无效参数:'句柄'必须是字符串(会话信息:chrome=75.0.3770.90

  • 问题内容: 码: 忽略字符串中的其他内容(最小,最大和范围),但对于此行, 我收到一个错误: 必需:double [] 找到:无参数 为什么会出现此错误,我应该更改什么? 问题答案: 您以这种方式调用方法calculateAverage :,不带任何参数。但是方法是这样声明的: 因此,它需要一个type类型的参数,但是您什么也不传递。

  • 我正在编写一个类的单元测试,但我得到了一个错误 when()需要一个参数,该参数必须是模拟上的方法调用 错误:

  • 我正在尝试从Firebase Fi还原中列出项目列表(已经完成),并从Firebase云存储中为每个项目获取不同的图像URL。 我使用一个名为getPhotoUrl的函数来更改变量photoUrl的值。问题是返回是在getPhotoUrl之前执行的。如果我在函数getPhotoUrl和async前面加上_docs.map((文档),我得到一个错误,说参数类型列表 我的代码:

  • 我尝试使用OAuth2使用LinkedIn API进行身份验证。代码: 我收到了这条信息: 字符串(153) "{"error_description ":"缺少必需的参数,包含无效的参数值,参数出现多次。:client_id ","错误":" invalid_request"} " 你能帮我吗?

  • 问题内容: 如果我将@Builder添加到类中。创建了builder方法。 我有一个需要特定字段的要求。在这种情况下,名称字段是必填字段,而不是姓氏。理想情况下,我想这样声明。 我不知道该怎么做。我尝试将@Builder添加到构造函数中,但没有成功。 问题答案: 您可以使用Lombok批注配置轻松完成此操作 然后像那样使用 当然这里是可选的。