我想构建一个具有静态前端(nuxt.config.js中为target: 'static'
)和后端为ktor的应用程序。该应用将需要对用户进行身份验证,但是我不想自己管理密码和事物,因此我想与AWS Cognito集成。根据我的理解,我认为这是我想要的工作流程:
- 用户正在匿名浏览网站(无登录)
- 他们执行一些需要登录或明确单击登录按钮的操作。
- 用户被重定向到AWS Cognito ui进行登录。他们可以注册新帐户,使用现有帐户登录或使用其他提供程序登录(为此配置了认知功能之后)。
- Cognito ui将用户重定向回应用程序ui,但在查询参数中使用JWT令牌(我认为这正是cognito的方式)
- JWT令牌(s?)存储在vuex store / nuxt auth
中
- 向后端发出请求时使用令牌。以及显示一些其他组件/操作(如果用户已通过身份验证)及其基本信息(例如用户名(jwt的一部分?))
我认为我已经正确安装了cognito和ktor后端,但是我不知道如何开始使用前端。
- nuxt auth module guide说要设置中间件,但是afaik中间件仅适用于服务器端渲染的应用。
- 我需要激活vuex store,但我不知道该放在哪里。 auth模块需要一些特定的东西吗?还是我只是在目录中创建一个空文件?
- 如何告诉它何时重定向或从查询参数读取令牌?
- 如何解析JWT令牌(如果不是自动生成)并从中获取一些有效载荷信息(例如用户名)?
- axios模块是否自动配置为可以使用此功能?
我在auth模块存储库中发现了这个旧的github问题195,但是我认为这是因为“登录表单” / ui是nuxt应用程序的一部分,并且客户端使用了不带'重定向”。
不幸的是,此堆栈中的所有内容对我来说都是新的,因此感谢您的帮助。如果已经有一个项目在做类似的事情,我会看一下代码并尝试弄清楚,但现在我迷路了。