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

求Google.Apis.Firebaseappcheck.v1的C#(.NET4.8)示例及reCAPTCHA v3入门指引

.NET Framework 4.8 下 Firebase App Check 与 reCAPTCHA v3 入门指引

一、Google.Apis.Firebaseappcheck.v1 库的 C# 示例代码

1. 安装依赖包

通过NuGet包管理器安装以下两个核心包:

  • Google.Apis.Firebaseappcheck.v1
  • Google.Apis.Auth.OAuth2

2. 初始化服务客户端

通过服务账号密钥完成身份认证,初始化Firebase App Check服务实例:

using Google.Apis.Auth.OAuth2;
using Google.Apis.Firebaseappcheck.v1;
using Google.Apis.Services;
using Google.Apis.Firebaseappcheck.v1.Data;

// 加载本地服务账号JSON密钥文件
var credential = GoogleCredential.FromFile("service-account-key.json")
    .CreateScoped(FirebaseappcheckService.Scope.FirebaseCheck);

// 初始化服务
var appCheckService = new FirebaseappcheckService(new BaseClientService.Initializer()
{
    HttpClientInitializer = credential,
    ApplicationName = "Your-App-Name"
});

3. 创建reCAPTCHA v3配置

通过API创建reCAPTCHA v3类型的App Check验证配置:

// 构建reCAPTCHA v3配置对象
var recaptchaConfig = new GoogleFirebaseAppcheckV1RecaptchaV3Config
{
    DisplayName = "Web App reCAPTCHA V3 Config",
    SiteKey = "your-recaptcha-v3-site-key",
    SecretKey = "your-recaptcha-v3-secret-key"
};

// 目标资源路径,格式:projects/{project-id}/apps/{app-id}
var parentResource = "projects/your-firebase-project-id/apps/your-app-id";

// 发送创建请求
var createRequest = appCheckService.Projects.Apps.RecaptchaV3Configs.Create(recaptchaConfig, parentResource);
var createdConfig = createRequest.Execute();

Console.WriteLine($"reCAPTCHA v3配置创建成功,ID: {createdConfig.Name}");

4. 验证客户端App Check令牌

服务器端核心场景:校验客户端传来的App Check令牌有效性:

// 构建验证请求
var verifyRequest = new GoogleFirebaseAppcheckV1VerifyAppCheckTokenRequest
{
    AppCheckToken = "client-provided-app-check-token"
};

// 验证接口路径,格式:projects/{project-id}/apps/{app-id}:verifyAppCheckToken
var verifyPath = "projects/your-firebase-project-id/apps/your-app-id:verifyAppCheckToken";

// 执行验证
var verifyResponse = appCheckService.Projects.Apps.VerifyAppCheckToken(verifyRequest, verifyPath).Execute();

if (verifyResponse.Valid)
{
    Console.WriteLine("App Check令牌验证通过");
    // 获取令牌附加信息
    Console.WriteLine($"关联应用ID: {verifyResponse.AppId}");
    Console.WriteLine($"令牌过期时间: {verifyResponse.ExpireTime}");
    // 继续处理业务逻辑
}
else
{
    Console.WriteLine("App Check令牌无效或已过期");
    // 返回错误响应给客户端
}

二、reCAPTCHA v3 入门指导(结合Firebase App Check)

1. 获取reCAPTCHA v3密钥

  • 登录Google reCAPTCHA控制台,注册应用并选择reCAPTCHA v3类型,填写允许的域名。
  • 完成注册后获取Site Key(客户端使用)和Secret Key(服务器/配置使用)。

2. Firebase控制台配置App Check

  • 打开Firebase控制台,进入目标项目的App Check模块。
  • 为你的应用(Web/移动端)启用App Check,选择reCAPTCHA v3作为验证提供者,填入已获取的Site Key和Secret Key。

3. 客户端集成(Web应用示例)

  • 引入reCAPTCHA脚本:
    <script src="https://www.google.com/recaptcha/api.js?render=your-recaptcha-site-key"></script>
    
  • 调用reCAPTCHA并获取App Check令牌:
    grecaptcha.ready(() => {
        grecaptcha.execute('your-recaptcha-site-key', { action: 'app-check' })
            .then(recaptchaToken => {
                // 激活Firebase App Check
                firebase.appCheck().activate(
                    'your-recaptcha-site-key',
                    { provider: 'recaptchaV3', token: recaptchaToken }
                );
                // 获取令牌并发送到服务器
                firebase.appCheck().getToken().then(result => {
                    const appCheckToken = result.token;
                    // 将token通过API请求发送至.NET后端
                });
            });
    });
    

4. 后端验证流程

  • 客户端请求时将App Check令牌放在请求头或参数中传递。
  • 后端使用第一部分的验证代码校验令牌,仅在验证通过后处理业务请求。

注意事项

  • 确保服务账号拥有Firebase App Check Admin角色,否则无法调用API。
  • App Check令牌默认有效期1小时,Firebase客户端SDK会自动刷新令牌。
  • 若遇.NET Framework兼容性问题,可尝试降级Google.Apis.Firebaseappcheck.v1包至稳定版本。

内容的提问来源于stack exchange,提问作者Vladimir K

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 02:01:38