我开发了一个简单的DApp,它使用了uPort,它在桌面上工作得很好--在那里,我可以使用QR代码通过uPort登录。在移动浏览器(Anrdoid )上,我被自动定向到uPort,它要求我“继续”,然后我被重定向回移动应用程序,在该应用程序中,URL现在有一个/access_token=“{令牌-这里}”的散列,但现在uport.requestCredentials()不返回uPort配置文件。我应该手动抓取url中的访问令牌并对它做些什么吗?
发布于 2018-03-28 01:18:24
出现此问题是因为移动浏览器通常打开一个新的浏览器选项卡,而不是返回到原始浏览器。在中解决这个问题之前,这里有一个解决办法。
安装uport-js (通常这只是一个服务器端库,但我们需要一个函数):
npm install uport在前端应用程序中,我们创建了一个凭据对象,允许我们代表我们的access_token应用程序处理uPort:
import { Credentials } from 'uport';`
const appCredentials = new Credentials({
address: YOUR_APP_UPORT_ADDRESS
});然后从URL获取访问令牌,并将其转换为uPort用户凭据对象,该对象本应由uport-connect返回:
var accessToken = window.location.href.split('access_token=')[1];
var uportUserCredentials = await appCredentials.receive(accessToken);uportCredentials现在将包含您的凭据。
https://ethereum.stackexchange.com/questions/37494
复制相似问题