先约定一些东西:
- 外部浏览器(手机自带的浏览器)
- tp钱包(指的是token pocket这个app)
- tp浏览器(tp钱包内部的浏览器)
目前我的需求是,在外部浏览器中打开一个网页,然后在网页上点击登录按钮可以唤起TP钱包进行授权登录操作,登录成功之后,正常返回外部浏览器。
我遇到的问题:
目前我按照官方文档中 拉起钱包授权登录 的教程
<a href='tpoutside://pull.activity?param={}'>Open TokenPocket to authorize</a><br/>
成功拉起了TP钱包,并且完成了授权登录操作,我传递的param参数如下:
const params = {
"callbackUrl": "http://xxxxx:3000",
"callbackSchema": "http://xxxxxx:3002",
"action": "login",
"actionId": "1648522106711",
"blockchains": [{
"chainId": "1",
"network": "ethereum"
}],
"dappIcon": "https:\/\/eosknights.io\/img\/icon.png",
"dappName": "zs",
"protocol": "TokenPocket",
"version": "2.0"
}
callbackUrl也有被调用了,也就是说回调成功了,得到的数据如下():
{
sign: '{"message":"17298432230xDa92C69338a9032d1Fd273C5f36d2444f9fed7341648522106711TokenPocket","messageHash":"0x1738ad4698d15e245ef393a8807b4b8599697eb513450ad08ef62172140fe688","v":"0x1c","r":"0xf5014e1158d20c0532e06de3fecc7c0529838097c1e3e563fd261c40a39830ba","s":"0x378da4bf3c994771b7f30c136355a92845f8b34ca72f41972649b3998a284b1e","signature":"0xf5014e1158d20c0532e06de3fecc7c0529838097c1e3e563fd261c40a39830ba378da4bf3c994771b7f30c136355a92845f8b34ca72f41972649b3998a284b1e1c"}',
timestamp: 1729843223,
account: '0xDa92C69338a9032d1Fd273C5f36d2444f9fed734',
chainId: '1',
network: 'ethereum',
publickey: '0xDa92C69338a9032d1Fd273C5f36d2444f9fed734',
ref: 'TokenPocket',
result: 1,
wallet: '0xDa92C69338a9032d1Fd273C5f36d2444f9fed734',
action: 'login',
actionId: '1648522106711',
protocol: 'TokenPocket',
version: '2.0'
}
然后现在遇到的问题有两个:
- 授权登录成功之后没有提示(这个不重要)
- 配置的callbackSchema无效,无论是在外部浏览器打开网页A还是在tp浏览器打开网页A,都无法跳转到callbackSchema配置的网页。
而文档中的这个教程,具体应该如何使用呢?这里面说的H5应用,是指一个App还是指运行在浏览器中的H5网页呢?