Linear
Linear 提供者的设置和使用。
获取你的 Linear 凭证
要使用 Linear 登录,你需要一个客户端 ID 和客户端密钥。你可以从 Linear 开发者门户 获取它们。
请确保将重定向 URL 设置为 http://localhost:3000/api/auth/callback/linear 用于本地开发。对于生产环境,你应该将其设置为你的应用程序 URL。如果更改了认证路由的基本路径,你需要相应地更新重定向 URL。
在 Linear 中创建你的 OAuth 应用程序时,你需要指定所需的权限范围。默认权限是 read,但如果需要,你还可以请求其他权限,例如 write。
配置提供者
要配置提供者,你需要导入提供者并将其传递给认证实例的 socialProviders 选项。
import { betterAuth } from "better-auth"
export const auth = betterAuth({
socialProviders: {
linear: {
clientId: process.env.LINEAR_CLIENT_ID as string,
clientSecret: process.env.LINEAR_CLIENT_SECRET as string,
},
},
})使用 Linear 登录
要使用 Linear 登录,你可以使用客户端提供的 signIn.social 函数。signIn 函数接收一个包含以下属性的对象:
provider:要使用的提供者。应设置为linear。
import { createAuthClient } from "better-auth/client"
const authClient = createAuthClient()
const signIn = async () => {
const data = await authClient.signIn.social({
provider: "linear"
})
}可用权限范围
Linear OAuth 支持以下权限范围:
read(默认):对用户账户的读取权限write:对用户账户的写入权限issues:create:允许创建新问题及其附件comments:create:允许创建新的问题评论timeSchedule:write:允许创建和修改时间计划admin:对管理级别端点的完全访问权限(谨慎使用)
你可以在配置提供者时指定额外的权限范围:
export const auth = betterAuth({
socialProviders: {
linear: {
clientId: process.env.LINEAR_CLIENT_ID as string,
clientSecret: process.env.LINEAR_CLIENT_SECRET as string,
scope: ["read", "write"]
},
},
})