V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
victimsss
V2EX  ›  Web Dev

关于 webview 移动应用开发的一些疑惑,求解答

  •  
  •   victimsss · 21 天前 · 1154 次点击
    后台开发,最近在研究某个服务在移动端应用的适配问题,就做了一个简单的 demo ,这个 demo 现在就做了一个最简单的操作---加载一个登录的链接,这个链接集成了许多三方登录的服务,但是遇到一些奇怪的问题。

    1 、假如在微信通过对话框的形式打开这个链接,选择 qq 登录,可以正常唤起 qq 并且重定向回微信。但是在 demo 唤起 qq 之后,登录成功被重定向回系统浏览器。现在是不是意味着要做什么拦截操作,将某重定向 URL 注册到这个 demo ,当 qq 登录授权成功的时候,回调到这个 demo ( deeplink ?或者自定义协议?)

    2 、这个登录链接原本是有一个 bug 的, 三方登录的时候,一些 code 是存在 sessionstorage 而不是 localstorage ,在系统浏览器选择 qq 登录的时候,会新建标签页触发数据不共享导致授权失败,但是在微信浏览器反而正常,难道是因为微信自带的浏览器是一个什么数据共享的容器或者什么单标签页特制应用?
    2 条回复    2026-03-05 10:46:43 +08:00
    minatoAqua
        1
    minatoAqua  
       20 天前   ❤️ 2
    1. Android 端要跳回应用需要定义好 deeplink 解析规则 ai 生成下代码就好,不难。
    2. 微信的浏览器是自己封装的内核,很多特性不一样的,不要以它为标准。
    victimsss
        2
    victimsss  
    OP
       20 天前
    @minatoAqua

    感谢回复 这个有一个背景没说清楚 架构是这样的
    Android 端(目前没确定 Android 端作为 oidc 的客户端还是 Android 端加载的 h5 页面作为客户端)
    OIDC 授权服务
    QQ(OIDC 提供的外部授权源)

    其中 oidc 授权为 qq 的 webapp

    现在遇到的问题是 qq 授权
    <img src="https://picui.ogmua.cn/s1/2026/03/05/69a8ebfe2bb7c.webp" alt="1772678214440.png" title="1772678214440.png" />

    qq 授权的时候有一个回调地址 就是 oidc 的服务 oidc 认证通过再回调到 Android 端的回调地址 现在的问题就是 qq 授权回调必定打开系统浏览器, 我将 schemacallback 改成 自定义 schema 也不行。

    我在想难道 Android 端 ---> oidc ---> qq 之间的集成都需要以原生应用的形式 还是说 只要 Android 端 ---> oidc 这一链路就行,
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5105 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 03:51 · PVG 11:51 · LAX 20:51 · JFK 23:51
    ♥ Do have faith in what you're doing.