step-up-labs / firebase-authentication-dotnet

C# library for Firebase Authentication
MIT License
383 stars 131 forks source link

[.NET MAUI] How implement "OpenBrowserAndWaitForRedirectToAuthDomain" #208

Open eliasribeiro opened 1 year ago

eliasribeiro commented 1 year ago

How to implement the method in "OpenBrowserAndWaitForRedirectToAuthDomain" in .NET MAUI?

Because the Launcher and Browser classes only open the browser and do not have resources to monitor the situation and obtain any positive or negative response from the Browser Login.

With WebView I was also unable to be successful, as at the end of Login it returns the message "Unable to process the request due to lack of initial state. This can happen if the browser's sessionStorage is inaccessible or accidentally deleted." I don't know how to resolve this message or how to wait for the success/failure process to then return a value in the SignInRedirectDelegate of SignInWithRedirectAsync.

Unfortunately we also don't have any example projects with this implementation for .NET MAUI.

bezysoftware commented 1 year ago

I don't really know Maui, but maybe try this? https://learn.microsoft.com/en-us/dotnet/maui/platform-integration/communication/authentication?tabs=android

eliasribeiro commented 1 year ago

Microsoft's authentication solution requires ASP.NET application hosting and does not work for Firebase.

osyyyS commented 4 months ago

@eliasribeiro Hi, did you find a solution by any chance?

MaxGuernseyIII commented 3 weeks ago

@osyyyS

@eliasribeiro Hi, did you find a solution by any chance?

It's the link @bezysoftware sent. There's zero evidence it requires ASP.NET hosting. It explicitly says it works via redirects. Maybe in October of 23, that was not the case, but it is, now.

https://learn.microsoft.com/en-us/dotnet/maui/platform-integration/communication/authentication?view=net-maui-8.0

The misinterpretation could be from this passage: image

...but all that's saying is that the authority for authentication should not be the mobile app, such as might be the case with Firebase.

I'm sure it's too late to help you, @osyyyS, but I wanted to record this for the next guy who spent a frustrated week looking for a meaningful, functional cross-platform Firebase authentication solution, like I just did.

I've finally found what I need, in this package, and I hope the next guy doesn't have to search so hard to find it.