Я включил аутентификацию Facebook в своем приложении xamarin для Android, и все работает нормально.Я получаю токен из Facebook и, используя метод входа Api Firebase, я могу подключиться к Firebase и получить обратно токен доступа, который как JWT из API Firebase.Но тем не менее, когда я хочу использовать этот токен доступа в моем Web Api Core, который реализует аутентификацию на основе firebase с использованием приведенного ниже кода на основе этой статьи , он всегда возвращает не аутентифицированное.Тот же код работает для аутентификации Google, следуя точно таким же шагам.Работает также для аутентификации по электронной почте и паролю.В чем может быть проблема с Facebook?
Различия, которые я узнал, когда я захожу на https://console.firebase.google.com/u/0/project/myfirebase/authentication/users
, я вижу пользователей Google, пользователей электронной почты, но не пользователей Facebook.что это значит?если я не зарегистрирован, почему я получаю токен JWT от firebase.
Еще один пример - у Google есть дата окончания срока действия, а у токена Facebook - нет.
services
.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.Authority = "https://securetoken.google.com/my-firebase-project";
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = "https://securetoken.google.com/my-firebase-project",
ValidateAudience = true,
ValidAudience = "my-firebase-project",
ValidateLifetime = true
};
});
РЕДАКТИРОВАТЬ: Я проверил с другой учетной записью Facebook, и она действительно работает.Кажется, проблема в том, что учетная запись fb не работает, подключена к учетной записи gmail, которая уже зарегистрирована с помощью входа в Google. Поэтому Firebase не создает другую учетную запись для Facebook, если электронная почта, к которой подключено, уже зарегистрирована с использованием другого метода Oauth2.Но я не понимаю, почему он не позволяет мне авторизоваться, если я могу аутентифицироваться и получать токен JWT из firebase.