Экземпляр FirebaseAuth по умолчанию равен null /. net core - PullRequest
0 голосов
/ 04 августа 2020

У меня есть интерфейс ionic / angular, где у меня есть регистрация пользователя через firebase. Я уже получил свой токен firebase, отправил его на свой. net бэкэнд и проверил токен с аннотацией [Authorize].

После авторизации я хочу декодировать токен и использовать идентификатор пользователя для дальнейшая обработка.

  1. Шаг получения токена из заголовка «Авторизация»

         string authHeader = this.HttpContext.Request.Headers["Authorization"];
         var decodedFirebaseToken = await fireBaseAuthenticationHelper.GetUserFromFirebaseIdAsync(authHeader.Substring("Bearer ".Length).Trim());
    
  2. Шаг получения декодированного токена

     public async Task<FirebaseToken> GetUserFromFirebaseIdAsync(string token)
     {
         FirebaseToken decodedToken = await FirebaseAuth.DefaultInstance
                                 .VerifyIdTokenAsync(token);
    
         return decodedToken;
     }
    

Проблема теперь в том, что FirebaseAuth.DefaultInstance всегда имеет значение 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; }

Так что я почти уверен, что мне нужно где-то его инициализировать, но я не могу найти где.

1 Ответ

0 голосов
/ 04 августа 2020

Вы должны инициализировать SDK, сначала создав новый FirebaseApp. См. Примеры кода в https://firebase.google.com/docs/admin/setup

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...