我有一个离子/角度前端,通过firebase进行用户注册。我已经检索了我的firebase令牌,将其发送到我的.net后端,并使用[Authorize]注释验证该令牌。
授权后,我想对令牌进行解码,并使用用户的id进行进一步处理。
-
步骤从";授权";标题
string authHeader = this.HttpContext.Request.Headers["Authorization"]; var decodedFirebaseToken = await fireBaseAuthenticationHelper.GetUserFromFirebaseIdAsync(authHeader.Substring("Bearer ".Length).Trim());
-
步骤检索解码的令牌
public async Task<FirebaseToken> GetUserFromFirebaseIdAsync(string token) { FirebaseToken decodedToken = await FirebaseAuth.DefaultInstance .VerifyIdTokenAsync(token); return decodedToken; }
现在的问题是FirebaseAuth.DefaultInstance始终为null,并引发null指针异常。我不知道在哪里或如何初始化DefaultInstance。FirebaseAuth类上有一条注释:
public sealed class FirebaseAuth : IFirebaseService
{
//
// Summary:
// Gets the auth instance associated with the default Firebase app. This property
// is null if the default app doesn't yet exist.
public static FirebaseAuth DefaultInstance { get; }
所以我很确定我必须在某个地方初始化它,但我找不到哪里。
您必须先创建一个新的FirebaseApp
来初始化SDK。请参阅中的代码示例https://firebase.google.com/docs/admin/setup