Types 使用JwtSessionHandler-dart时出现类型错误

Types 使用JwtSessionHandler-dart时出现类型错误,types,dart,jwt,Types,Dart,Jwt,我在使用JwtSessionHandler时遇到了dart类型的问题。我想使用git存储库中的示例应用程序作为指南来集成用户身份验证和会话 不幸的是,我在运行应用程序时出错(在运行应用程序之前未检测到语法错误) 错误消息如下所示: Breaking on exception: object of type _TypeError: type '(String, String) => Future<UserLookupByUsernamePassword<Principal>

我在使用JwtSessionHandler时遇到了dart类型的问题。我想使用git存储库中的示例应用程序作为指南来集成用户身份验证和会话

不幸的是,我在运行应用程序时出错(在运行应用程序之前未检测到语法错误) 错误消息如下所示:

Breaking on exception: object of type _TypeError: type '(String, String) => Future<UserLookupByUsernamePassword<Principal>>' is not a subtype of type 'UserLookupByUsernamePassword' of 'userLookup'.
JwtSessionHandler
testLookup.lookupyusernamespassword
testLookup
var testLookup=new TestUserLookup()定义

在哪里

类TestUserLookup{
Future lookupByUsernamePassword(字符串用户名、字符串密码){
最终validUser=用户名=='fred';
final principalot=validUser?新的一些(新的主体(用户名)):const None();
返回新的未来值(principalOpt);
}
Future LookupBySerName(字符串用户名){
最终validUser=用户名=='fred';
final principalot=validUser?新的一些(新的主体(用户名)):const None();
返回新的未来值(principalOpt);
}
}
因此,这部分代码与示例中的代码完全相同。我试图将
选项
部分更改为
userlookupyusername
,但过了一会儿我就卡住了。我的应用程序的全部代码都可以找到。错误发生在中


非常感谢您的帮助。

之所以出现这种情况,是因为
JwtSessionHandler
希望
lookupyusername
函数只有一个参数,而不是有两个参数的
lookupyusernamepassword

var sessionHandler = new JwtSessionHandler('super app',new Uuid().v4(),testLookup.lookupByUsernamePassword);
class TestUserLookup {
  Future<Option<Principal>> lookupByUsernamePassword(String username, String password) {
    final validUser = username == 'fred';
    final principalOpt = validUser ? new Some(new Principal(username)) : const None();

    return new Future.value(principalOpt);
  }

  Future<Option<Principal>> lookupByUsername(String username) {
    final validUser = username == 'fred';

    final principalOpt = validUser ? new Some(new Principal(username)) : const None();

    return new Future.value(principalOpt);
  }
}