微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Nuxt.js auth:对于嵌套路由,登录后重定向不会发生,只有基本路由

如何解决Nuxt.js auth:对于嵌套路由,登录后重定向不会发生,只有基本路由

我正在尝试将@nuxtjs/auth模块用于Web应用程序中Okta的OAuth2身份验证。

我的应用程序具有如下URL结构:/browse/{folder}用于查看来自特定文件夹的图像,其中{folder}可以是任何字符串。这是通过创建名为browse.vue的顶级视图,名为browse文件夹以及该文件夹中名为_folder.vue的子组件来实现的。在here中有更多详细信息,请参见Nuxt.js文档。

Screen Shot 2020-08-25 at 9.53.58 PM.png

我已将身份验证保护措施添加_folder.vue文件中。当我导航到/browse时,我被重定向/login,并且从这里开始,OAuth2和Okta都可以正常运行。登录后返回到应用程序时,我将返回到/browse页面

但是,当我导航至/browse/Test之类的文件夹时,登录后我并未重定向回该文件夹。相反,我返回了该应用程序的/视图。从这里开始,如果我再次在地址栏中键入路径,则能够以登录用户的身份成功查看它。这表明登录成功,但是有关重定向的操作却不成功。

通过查看Firefox开发人员工具中的cookie,我注意到导航到auth.redirect时未创建/browse/Test cookie,所以我认为auth模块不知道将重定向到何处。用户登录后。当我导航到/browse时,将创建auth.redirect cookie,并且重定向成功完成。

我是否可以做一些事情来使auth模块能够重定向到这些动态路由,或者这是该模块的错误?有关该模块的所有其他信息在我的应用程序中均正常运行。

我在nuxt.config.js中使用@nuxtjs/auth版本4.9.1的身份验证配置:

  auth: {
    fullPathRedirect:true,redirect:{
      callback:"/login",logout:"/"
    },strategies: {
      social:{
        _scheme: 'oauth2',authorization_endpoint: "https://{my-subdomain}.okta.com/oauth2/v1/authorize",scope: ['openid','profile','email'],access_token_endpoint: "https://{my-subdomain}.okta.com/oauth2/v1/token",response_type: 'id_token',token_type: 'Bearer',client_id: process.env.CLIENT_ID,client_secret:process.env.CLIENT_SECRET,token_key: 'id_token'
      }
    }
  }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。