请选择 进入手机版 | 继续访问电脑版

设为首页 收藏本站
思科社区 关注
思科社区

  思科 CCO 登录
 找回密码
 立即注册

扫一扫,访问微社区

搜索
热搜: 邮件服务器
查看: 1362|回复: 0

【小目标,一个“译”】+ 以太坊与智能合约之身份认证(4)

[复制链接]
发表于 2018-6-8 17:24:27 | 显示全部楼层 |阅读模式
取移动身份验证的应用程序
现在该设置你的辅助地址和登录帮助程序了。此应用程序将被作为身份验证的因子,用来确认你的登录请求。当你想要登录一些网站的时候,你将收到一个来自该应用程序的通知。此通知将允许你接受或拒绝身份验证的请求。
1.  获取应用程序
进入Android Play商店,下载我们的Auth0 PoC应用程序(https://play.google.com/store/apps/details?id=block.chain.auth.zero)。
2.  注册
打开该应用程序并输入你的电子邮件地址。然后选择屏幕解锁图案。当你想登录到网站时,你会被要求输入此相同的图案。然后单击Register。你将被要求在移动应用程序上单击Sign来予以确认。
移动应用程序现在就设置好了,让我们来为登录启用你的以太坊帐户吧。
为登录启用你的以太坊地址
这一步,和以前一样只需执行一次,完成你的主地址和登录地址之间的映射设置。换句话说,它将把你的Metamask帐户连接到你智能手机的移动应用程序上。
1.  获得你的移动应用程序(辅助)地址
如果你现在查看你的电子邮件(请注意检查那些垃圾、促销类邮件),你就会发现你以太坊的辅地址了。这就是通过你的智能手机来管理的帐户地址。请将它复制到剪贴板中。
2.  调用合约 !
如果你是以太坊用户,且有你自己的钱包,你完全可以手动执行此步骤。然而为简单起见,我们已经建立了网站,为你分担了那些繁复的工作。同样使用你已安装了MetamaskChrome实例,导航到我们PoC钱包http://auth0-ethereum.com:3002/wallet/)。这个网站是一个简单本地的、钱包类型的应用程序,它创建了调用合约所必须的以太坊事务。该网站与Metamask交互,因此你不必手动输入你的帐户详细信息。
一旦你进入该网站,请将你从上一步电子邮件里复制的以太坊地址粘贴进来,单击Register,会弹出一个Metamask的窗口。这是一个对于你将使用主帐户里的以太币来进行一笔交易的确认,因此请单击Sign。过一会儿后,你主账户和辅助帐户就连接上了,其花费的时间完全取决于以太坊的网络状态。一般也就是几秒钟而已。
考虑你可能已经对以太坊很熟悉了,而且想要自己手动执行此步骤。那么请调用Mapper合约里位于 0x5e24bf433aee99227737663c0a387f02a9ed4b8amapAddress方法吧。你也可以通过链接:https://github.com/auth0/ethereum-auth-client/blob/master/config/abi.json来获取JSON API。其唯一的参数就是你在电子邮件里获得的地址。至此,一切都以完成!
登录到我们的测试网站
你现在可以运用你的电子邮件地址或是你的主以太坊地址作为凭据,登录到支持该身份验证方法的任何第三方网站了。请进入我们的示例网站https://auth0-ethereum.com/authzero,填写你的电子邮件地址,然后单击Login。同时注意查看你的智能手机所弹出的通知,以批准你的登录信息。

你会注意到一个标注着TrustlessAuthentication的复选框。如前文所述,第三方可能选用不同的安全级别。当被告知登录为有效(信任类型的身份验证)时,它们可以选择信任身份验证服务器;或者它们可能会选择不信任身份验证服务器,而是自己内部去验证签名。在这种情况下,第三方网站必须自己去验证辅助地址的签名,它们首先使用Mapper合约(这是公开可以获得的)来查询辅助地址,然后通过辅助地址的返回数据来验证签名,以查找到辅助地址所对应的公共密钥。这提供的是最高的安全级别,而只是用到身份验证服务器来传递消息。

        如果你有兴趣仔细了解我们的PoC是如何工作的话,这里是所有的资源库:
l  身份验证服务器https://github.com/auth0/ethereum-authentication-server
l  移动应用程序https://github.com/auth0/ethereum-authenticator-app-public
l  第三方web应用程序的示例:https://github.com/auth0/ethereum-sample-web
l  使用Metamask来注册钱包https://github.com/auth0/ethereum-browser-wallet
l  简单测试的各种docker脚本https://github.com/auth0/ethereum-docker-deployment
        上述的资料库也用到了一些针对此PoC开发的帮助库:
l  以太坊加密的帮助库:https://github.com/auth0/ethereum-crypto
l  PoC用到的、进行身份验证所需的JavaScripthttps://github.com/auth0/ethereum-user-db-service
l  简单的数据库抽象帮助:https://github.com/auth0/ethereum-user-db-service
l  PoC预配置的以太坊客户端节点https://github.com/auth0/go-ethereum

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分5 (3 评价)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver | 思科社区  

GMT+8, 2018-10-20 04:40 , Processed in 0.083121 second(s), 31 queries .

京ICP备09041801号-187

版权所有 :copyright:1992-2019 思科系统  重要声明 | 保密声明 | 隐私权政策 | 商标 |

快速回复 返回顶部 返回列表