如何解决Nuxt.js auth:对于嵌套路由,登录后重定向不会发生,只有基本路由
我正在尝试将@nuxtjs/auth
模块用于Web应用程序中Okta的OAuth2身份验证。
我的应用程序具有如下URL结构:/browse/{folder}
用于查看来自特定文件夹的图像,其中{folder}
可以是任何字符串。这是通过创建名为browse.vue
的顶级视图,名为browse
的文件夹以及该文件夹中名为_folder.vue
的子组件来实现的。在here中有更多详细信息,请参见Nuxt.js文档。
我已将身份验证保护措施添加到_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 举报,一经查实,本站将立刻删除。