自托管
本指南将解释如何自托管一个运行 NuxtAuth 的 Nuxt3 应用程序。
Authjs 提供商
当部署 Auth.JS 提供商时,必须告知应用程序它运行的 URL。这是为了在将用户导航到外部 OAuth 提供商时正确确定回调 URL。 根据您的设置,NuxtAuth 允许您在运行时或构建时设置此值。
- 运行时: 设置
NUXT_AUTH_ORIGIN
环境变量。 - 构建时: 在
nuxt.config.ts
内部设置baseURL
-config 键。
Origin 由以下部分组成
- scheme: http / https
- host: 例如,localhost, example.org, google.com
- port: 空(http 默认为
:80
,https 默认为:443
),:3000, :8888
NUXT_AUTH_ORIGIN
的一个例子是:https://my-awesome-app.com
Origin 顺序
当尝试确定服务器 origin时,NuxtAuth 按照以下顺序检查可用选项
- 优先级 1: 使用
NUXT_AUTH_ORIGIN
- 优先级 2: 使用来自
nuxt.config.ts
内部的baseURL
-config 键 - 优先级 3: 推断 origin (仅在开发中)
提示
我们建议在运行时设置 NUXT_AUTH_ORIGIN
并将 baseURL
-config 键留空,以避免使用可能不正确的 ORIGIN。
除了验证 origin 是否正确设置外,还要确保在 NuxtAuthHandler 中设置了安全的 secret
。
本地提供商
当部署基于本地提供商的应用时,您只需要将正确的 baseURL
设置到您的身份验证后端。
此路径可以是
- 相对路径: 指向您自己应用程序内部的路径 (例如
/api/auth
) - 绝对路径: 指向外部应用程序内部的路径 (例如
https://my-auth-backend/api
)
警告
对于 local
提供商,此值需要在构建时设置。 这是支持静态应用程序所必需的。
为此,请确保您直接在 nuxt.config.ts
内部设置 baseURL
,或者提供一个构建时环境变量来覆盖 nuxt.config.ts
内部的值。