基于MYKEY的第三方授权登录
一种类似于OpenID的区块链第三方授权登录方案
Last updated
Was this helpful?
一种类似于OpenID的区块链第三方授权登录方案
Last updated
Was this helpful?
MYKEY登录,即通过MYKEY账号登录APP和网站,同时享受MYKEY账号的好处:免费使用,支持多链。
目前MYKEY支持ETH和EOS两条主流公链。有的用户只开通了一条公链,也就是只有一条链上的账号和公钥地址;有的用户开通了两条公链,授权登录时,可选择任意一条公链来签名和验证签名。
MYKEY传给第三方应用的数据包括:用户的MYKEY ID,区块链账号及对应的公钥地址。
MYKEY授权登录,类似于传统互联网的OpenID技术,第三方应用通过MYKEY ID可识别用户,通过区块链上的账号可获取到用户的余额信息,通过签名和验证签名来确定用户拥有账号的操作权限。
不同的第三方应用,使用MYKEY作为第三方登录的方法也不同。
H5页面,兼容Scatter或者Web3协议,即可获取到用户的MYKEYID和区块链账号信息,完成登录。
以某去中心化交易所的H5页面为例:
接入步骤:
MYKEY账户有自主账户和受保障账户两种类型,自主账户有丢失不可找回的风险,因此不建议第三方应用允许MYKEY自主账户来授权登录。第三方可根据MYKEY的返回的来判断账户类型。
更多技术细节请参考:更多MYKEY登录的技术原理和流程。
a. 针对Scatter协议,先使用scatter.connect方法,再使用login方法即可获得用户的账号信息,示例代码见:
b. 针对Web3协议,使用web3.eth的givenProvider方法即可获得用户的账号信息,示例代码见:
Web应用根据需要传递的JSON数据,生成二维码。要传递的数据结构见 。