Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]: 登录时会出现 mismatch challenge #90

Open
PaperHS opened this issue Nov 8, 2024 · 2 comments
Open

[BUG]: 登录时会出现 mismatch challenge #90

PaperHS opened this issue Nov 8, 2024 · 2 comments
Assignees

Comments

@PaperHS
Copy link

PaperHS commented Nov 8, 2024

🐛 Bug Report

详细描述

image
  1. iOS DID Wallet 新账户在 https://launcher.arcblock.io/en 尝试登录
  2. 找回 Email KYC
  3. 点击 登录弹窗

另外, Android 也会出现:
https://community.arcblock.io/discussions/72b88c04-3c7e-48d3-9712-d0137fbe1e8a/#7af1cee2-80ff-4c56-9dcf-4cced8c1aabd

复现这个bug

截图或报错信息(可选)

异常的行为

期望的行为

可能的解决方案(可选)

@LancelotLewis
Copy link
Collaborator

两个设备下均未能复现
cc @PaperHS

@LancelotLewis
Copy link
Collaborator

经过 sync,在找回邮箱认证 VC 的页面点击钱包的自动登录后,在 IOS 设备中会出现上述问题(但在 安卓 中正常)

目前猜测问题可能产生的原因是:页面中同时调起了两次 did-connect,会导致第一次调起的 did-connect 出现 "mismatch challenge"

  • 其中一次是 did-connect 通过 ws 自动推送的
  • 另一次是在 web 中主动调起的(这是 did-connect 处于 webview 中的行为)

PS: 上述安卓描述的问题跟这里的情况类似,也是触发了两次 did-connect 导致的

可能的解决方案:

  • 由于 web 端无法得知 ws, did-connect 在 webview 中自动发起连接请求,did-connect 页面手动点击几种情况的执行结果,所以美誉条件去做限制
  • 目前来看只能在 did-wallet 中进行判断,永远只展示最新的一个 did-connect,自动销毁旧的
  • 需要注意的是:在某些流程中,确实会存在同时有多个 did-connect 的情况,比如登录过程中找回通行证,需要同时保持登录的 did-connect,并需要一个找回通行证的 did-connect,在找回通行证流程完成后,客户端会继续展示登录的 did-connect,来最终完成整个流程

cc @PaperHS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants