这个插件。。。
https://pub.dev/packages/ably_flutter
让我这么做。。。
ably.ClientOptions options = ably.ClientOptions(
clientId : '...',
authUrl : '...',
authHeaders : {'Authorization' : '...'},
);
ably.Realtime realtime = await ably.Realtime(options : options);
之前给我这个。。。
E/DartMessenger(12893(:二进制消息侦听器中的未捕获异常
E/DartMessenger(12893(:java.lang.ClassCastException:java.util.HashMap无法转换为io.alby.lib.types.Param[]
。。。我不知道还能做什么。
我认为这是因为后端向Ably响应了错误的格式数据,所以在应用端无法将其转换为ably.tokenParams
类型。但后台人员告诉我,他们端没有什么问题。
非常感谢您的帮助,谢谢。
它使用authCallback
而不是authUrl
和clientId
,其中TokenRequest
或TokenDetais
由后端返回的数据生成。
使用已签名的TokenRequest
进行身份验证
ably.ClientOptions(
key : token //Authentication token
authCallback : (ably.TokenParams params) => ably.TokenRequest.fromMap(...)
);
使用Ably JWT 进行身份验证
ably.ClientOptions(
authCallback : (ably.TokenParams params) => ably.TokenDetails.fromMap(...)
);