Контекст Мауи имеет значение NULLC#

Место общения программистов C#
Ответить
Anonymous
 Контекст Мауи имеет значение NULL

Сообщение Anonymous »

Последние несколько недель я пытался заставить Firebase работать с моим приложением на Мауи. Я пробовал пример приложения из пакета NuGet Firebase-Authentication-Dotnet. Просматривая запрос на включение, я нашел код в чьей-то записи для приложения на Мауи. Код запроса на извлечение можно найти здесь: Firebase-Authentication-Dotnet-Maui. Когда я запускаю этот код через эмулятор, я продвинулся намного дальше, чем до того, как Firebase работал с Мауи.
На экране входа теперь отображаются все поставщики.
Изображение

Это новое для меня, поскольку я не смог дойти до этого момента сам.
Однако, когда я пытаюсь использовать «Войти через Google». Я получаю следующую ошибку.
Изображение

Код: Выделить всё

File Name: FirebaseAuthClient.cs

Код: Выделить всё

public async Task SignInWithRedirectAsync(FirebaseProviderType authType, SignInRedirectDelegate redirectDelegate)
{
var provider = this.config.GetAuthProvider(authType);

if (!(provider is OAuthProvider oauthProvider))
{
throw new InvalidOperationException("You cannot sign in with this provider using this method.");
}

await this.CheckAuthDomain();

var continuation = await oauthProvider.SignInAsync();
// This is the offending code.
// I don't know why this line of code raises the "MauiContext Is Null."
var redirectUri = await redirectDelegate(continuation.Uri).ConfigureAwait(false);
// continuation.Uri has a value.

if (string.IsNullOrEmpty(redirectUri))
{
return null;
}

var userCredential = await continuation.ContinueSignInAsync(redirectUri).ConfigureAwait(false);

this.SaveToken(userCredential.User);

return userCredential;
}
MauiContext имеет значение null. Даже если бы я вставил этот continue.Uri в браузер моего рабочего стола, все работало бы нормально!
Я не могу понять, где находится этот «MauiContex». Я изо всех сил пытаюсь понять это и застрял.

Код: Выделить всё

System.InvalidOperationException: "MauiContext is null."
Кому-нибудь еще удалось заставить этот NuGet работать со своим приложением Maui? Если да, готовы ли вы поделиться информацией о других провайдерах, помимо электронной почты?

Код: Выделить всё

Providers = new FirebaseAuthProvider[]
{
new GoogleProvider(),
new FacebookProvider(),
new AppleProvider(),
new TwitterProvider(),
new GithubProvider(),
new MicrosoftProvider(),
new EmailProvider() // This is the only provider I have been successful with
},
Если вы ищете код, я клонировал этот репозиторий: Firebase-Authentication-Dotnet-Maui
Изменить: я переформатировал в соответствии с рекомендациями в комментариях.>

Подробнее здесь: https://stackoverflow.com/questions/781 ... xt-is-null
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»