基于MYKEY的第三方授权登录

一种类似于OpenID的区块链第三方授权登录方案

MYKEY登录,即通过MYKEY账号登录APP和网站,同时享受MYKEY账号的好处:免费使用,支持多链。

目前MYKEY支持ETH和EOS两条主流公链。有的用户只开通了一条公链,也就是只有一条链上的账号和公钥地址;有的用户开通了两条公链,授权登录时,可选择任意一条公链来签名和验证签名。

MYKEY传给第三方应用的数据包括:用户的MYKEY ID,区块链账号及对应的公钥地址。

MYKEY授权登录,类似于传统互联网的OpenID技术,第三方应用通过MYKEY ID可识别用户,通过区块链上的账号可获取到用户的余额信息,通过签名和验证签名来确定用户拥有账号的操作权限。

第三方授权登录流程

不同的第三方应用,使用MYKEY作为第三方登录的方法也不同。

H5页面,兼容Scatter或者Web3协议,即可获取到用户的MYKEYID和区块链账号信息,完成登录。

以某去中心化交易所的H5页面为例:

接入步骤:

a. 针对Scatter协议,先使用scatter.connect方法,再使用login方法即可获得用户的账号信息,示例代码见:H5 EOS登录

b. 针对Web3协议,使用web3.eth的givenProvider方法即可获得用户的账号信息,示例代码见:H5 ETH登录

MYKEY账户有自主账户和受保障账户两种类型,自主账户有丢失不可找回的风险,因此不建议第三方应用允许MYKEY自主账户来授权登录。第三方可根据MYKEY的返回的来判断账户类型。

更多技术细节请参考:更多MYKEY登录的技术原理和流程

Last updated