VUE 单页面应用,回调地址的 code=xxx 污染路由

一、回调地址配置

在应用的登陆回调地址配置了一个 https://abc.com/app/

二、问题描述

  1. https://abc.com/app/ 这个路径本身是一个单页面应用,有以下几个 路由

    const routes = [
        { path: '/', component: Main },
        { path: '/topics', component: Topics },
        { path: '/answer', component: Answer },
      ];
    

    这几个页面打开的路径是类似于 https://abc.com/app/#/topics

  2. 从authing回调过来后,页面的url变成了 https://abc.com/app/#/code=xxCBEzKnYBrla02BNsZ2rqnA9EiPcuxofp1q0HvsHuZ&state=vpB3AopncuaGxDcZ
    看起来相当于打开了一个没有定义的code router

  3. this.sdk.isRedirectCallback() 这个没有生效

请帮忙看看这个怎么解决

你好,发下使用的包名及版本号

import { Authing } from '@authing/browser';
 "@authing/browser": "^0.0.1-alpha3",

ps: 我使用的是 vite 前端构建,有 https://abc.com/https://abc.com/app/ 两个子入口页面

你用这个包主要想实现什么功能,可以的话提供一个最小复现 demo ,我去看下。

可以参考下这个文档哈,browser 应该是老的包名,这个 sdk 暂不支持和 Authing 其他 sdk 混用,具体改造已经在规划中。

https://docs.authing.cn/v3/reference/sdk/web/

用这个包就是想实现 vue 单页面应用的 authing登陆,我不知道是不是看的文档是老的,我再确认下

参考使用这个文档吧。根据你的需求,可以用内嵌模式或跳转模式。Guard 下周一会发布 6.0

https://docs.authing.cn/v2/reference/guard/v2/web.html

好的,感谢,我试试

好的,有问题随时反馈。

我发现了,你们单页面应用的快速开始,就是用的这个包

我们更新下控制台快速开始。'OIDC 标准协议不支持 url 中带 # 号,可以用 query 模式哈。

Vue 开发模式自动开启路由匹配,生产环境可以看下 Vue 文档中的 Nginx 配置。