下面是一个使用ASP.NET和Firebase验证令牌ID的示例代码:
首先,安装FirebaseAdmin和Google.Apis.Auth NuGet包。
创建一个名为FirebaseAuth.cs的类,将以下代码添加到该类中:
using FirebaseAdmin;
using Google.Apis.Auth.OAuth2;
using System;
public static class FirebaseAuth
{
public static void InitializeFirebase()
{
var serviceAccount = new ServiceAccountCredentials
{
ProjectId = "your-project-id",
ClientEmail = "your-client-email",
PrivateKey = Environment.GetEnvironmentVariable("FIREBASE_PRIVATE_KEY").Replace("\\n", "\n")
};
FirebaseApp.Create(new AppOptions
{
Credential = GoogleCredential.FromServiceAccountCredentials(serviceAccount)
});
}
public static async Task VerifyTokenId(string idToken)
{
var decodedToken = await FirebaseAdmin.Auth.FirebaseAuth.DefaultInstance
.VerifyIdTokenAsync(idToken);
return decodedToken.Uid;
}
}
protected void Application_Start(object sender, EventArgs e)
{
FirebaseAuth.InitializeFirebase();
}
string idToken = "your-id-token";
string uid = await FirebaseAuth.VerifyTokenId(idToken);
请确保将上述代码中的"your-project-id"和"your-client-email"替换为您的Firebase项目的实际项目ID和客户端电子邮件地址。
此外,您需要在Firebase控制台中生成一个私钥,并将其存储在名为"FIREBASE_PRIVATE_KEY"的环境变量中。