登录鉴权
ShipAny 目前支持 谷歌登录 / 谷歌一键登录 / Github 登录三种登录方式。
其他登录方式逐步集成,也可以参考 next-auth 文档自行接入。
生成 Auth Secret
在终端运行
Terminal
openssl rand -base64 32
生成一个 32 字节的随机字符串,作为 Auth Secret
修改环境变量中的 AUTH_SECRET
值
.env.development
AUTH_SECRET = "xxx"
谷歌登录
创建一个新项目,进入新项目的 Credentials 管理页面,创建 Oauth Client ID
- 根据你项目的运行端口,线上域名,配置必要的回调信息
- 本地调试配置
callbackUrl
http://localhost:3000/api/auth/callback/google
- 线上配置
callbackUrl
https://{your-domain}/api/auth/callback/google
创建 Oauth Client ID 后,得到 Client ID 和 Client Secret
- 修改配置文件中的
AUTH_GOOGLE_ID
和AUTH_GOOGLE_SECRET
开启谷歌登录:
.env.development
AUTH_GOOGLE_ID = "4680xx-xxx.apps.googleusercontent.com"
AUTH_GOOGLE_SECRET = "GOxxx"
NEXT_PUBLIC_AUTH_GOOGLE_ENABLED = "true"
谷歌一键登录
首先按照谷歌登录的步骤,拿到 AUTH_GOOGLE_ID
和 AUTH_GOOGLE_SECRET
修改配置文件中的 NEXT_PUBLIC_AUTH_GOOGLE_ONE_TAP_ENABLED
和 NEXT_PUBLIC_AUTH_GOOGLE_ID
开启谷歌一键登录:
.env.development
NEXT_PUBLIC_AUTH_GOOGLE_ONE_TAP_ENABLED = "true"
NEXT_PUBLIC_AUTH_GOOGLE_ID = "4680xx-xxx.apps.googleusercontent.com"
谷歌一键登录使用到的
NEXT_PUBLIC_AUTH_GOOGLE_ID
跟谷歌登录配置的AUTH_GOOGLE_ID
保持一致。
Github 登录
创建一个新的 OAuth app
- 填写 OAuth app 配置信息
callbackUrl
http://localhost:3000/api/auth/callback/github
开发环境和生产环境,需要创建两个不同的 OAuth app,分别配置不同的回调地址。
-
进入 OAuth app,复制
Client ID
和Client Secret
-
修改配置文件中的
AUTH_GITHUB_ID
和AUTH_GITHUB_SECRET
开启 Github 登录:
.env.development
AUTH_GITHUB_ID = "xxx"
AUTH_GITHUB_SECRET = "xxx"
NEXT_PUBLIC_AUTH_GITHUB_ENABLED = "true"
登录预览
- 点击登录按钮,弹窗登录
- 用户进入首页,提示一键登录