gpt4 book ai didi

types - 使用JwtSessionHandler时键入错误-dart

转载 作者:行者123 更新时间:2023-12-03 03:27:24 24 4
gpt4 key购买 nike

使用JwtSessionHandler时,dart类型出现问题。我想使用this git存储库中的shelf_auth示例应用程序作为指南来集成用户身份验证和 session 。

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

Breaking on exception: object of type _TypeError: type '(String, String) => Future<UserLookupByUsernamePassword<Principal>>' is not a subtype of type 'UserLookupByUsernamePassword' of 'userLookup'.

错误源自此行代码
var sessionHandler = new JwtSessionHandler('super app',new Uuid().v4(),testLookup.lookupByUsernamePassword);

JwtSessionHandler的最后一个输入参数开始精确 testLookup.lookupByUsernamePasswordtestLookupvar testLookup = new TestUserLookup();定义

哪里
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);
}
}

因此,这部分代码与示例中的完全相同。我试图将 Option<Principal>部分更改为 UserLookupByUsername<Principal>,但后来我被卡住了。我的应用程序的整个代码可以通过 here找到。该错误发生在 handlers.dart中。

任何帮助深表感谢。

最佳答案

发生这种情况是因为JwtSessionHandler期望lookupByUsername函数仅具有一个参数,而不是具有两个参数的lookupByUsernamePassword

关于types - 使用JwtSessionHandler时键入错误-dart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30407034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com