You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Appwrite中‘github’无法赋值给OAuthProvider类型参数的解决方法

解决Appwrite GitHub OAuth2登录的类型错误问题

你遇到的"github"无法赋值给OAuthProvider类型参数的错误,是因为Appwrite的TypeScript SDK要求使用官方定义的枚举值而非字符串字面量来指定OAuth提供商。以下是正确的配置和代码修正步骤:

步骤1:导入OAuthProvider枚举

从Appwrite SDK中导入OAuthProvider枚举,它包含了所有支持的OAuth提供商的合法值。

步骤2:替换字符串为枚举值

将代码中的'github'替换为OAuthProvider.GitHub,以此符合TypeScript的类型校验要求。

步骤3:确认Appwrite控制台配置

在Appwrite控制台完成GitHub OAuth提供商的配置:

  • 进入认证 > 提供商,启用GitHub提供商
  • 填入在GitHub开发者平台创建应用时获取的Client ID和Client Secret
  • 确保回调URL与代码中传入的http://localhost:3000/完全一致(生产环境需替换为实际域名)

修正后的完整代码

import { account, OAuthProvider } from "@/appwrite/config"
import { Button } from "./ui/button"
import { Github } from 'lucide-react'

export default function LoginButton() {
  async function handleLogin() {
    account.createOAuth2Session(
        OAuthProvider.GitHub,
        'http://localhost:3000/',
        'http://localhost:3000/'
    )
  }

  return (
    <Button onClick={handleLogin} className="w-full flex items-center justify-center bg-secondary text-secondary-foreground hover:bg-secondary/90 transition-colors">
      <Github className="mr-2 h-4 w-4" />
      Login with GitHub
    </Button>
  )
}

内容的提问来源于stack exchange,提问作者Rupesh Shandilya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 02:47:36