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登录
Web应用遵守SimpleWallet协议(EOS),或者WalletConnect协议(ETH),MYKEY通过扫描二维码,会自动识别协议,完成授权登录。
以某去中心化交易所使用MYKEY扫码登录为例:
接入流程:
Web应用根据需要传递的JSON数据,生成二维码。要传递的数据结构见 Web应用扫码登录。
Android应用,集成MYKEY Android SDK,调用SDK的authorize方法,即可完成登录。
以某大型区块链游戏全民炮战为例:
接入流程:
(可选)APP根据用户账号从公链上查询到地址,并进行签名验证,也称为验签。针对不同的编程语言,我们提供了多种验签示例代码。
iOS应用,集成MYKEY iOS SDK,调用SDK的authorize方法,即可完成登录。
接入流程:
(可选)APP根据用户账号从公链上查询到地址,并进行签名验证,也称为验签。针对不同的编程语言,我们提供了多种验签示例代码。
MYKEY账户有自主账户和受保障账户两种类型,自主账户有丢失不可找回的风险,因此不建议第三方应用允许MYKEY自主账户来授权登录。第三方可根据MYKEY的返回的来判断账户类型。
更多技术细节请参考:更多MYKEY登录的技术原理和流程。