Fixes the Android Login process
This commit is contained in:
parent
dd5904f0a7
commit
75b298b0f8
16 changed files with 106 additions and 129 deletions
|
|
@ -1,29 +0,0 @@
|
|||
using PostIt.Services;
|
||||
|
||||
namespace PostIt.Desktop;
|
||||
|
||||
/// <summary>
|
||||
/// One-shot platform bootstrap. Called from <c>Program.Main</c> so that
|
||||
/// the shared OIDC login path sees a working <c>IBrowser</c> — the
|
||||
/// custom-scheme browser that hands the OIDC callback off to the
|
||||
/// running instance through the named pipe. Desktop builds do NOT use
|
||||
/// a loopback HTTP listener: the <c>postit://</c> scheme is registered
|
||||
/// with the OS at install time and the browser is whatever the user
|
||||
/// has configured to open it.
|
||||
/// </summary>
|
||||
internal static class PlatformBootstrap
|
||||
{
|
||||
private static int _initialized;
|
||||
|
||||
internal static void EnsureInitialized()
|
||||
{
|
||||
if (System.Threading.Interlocked.Exchange(ref _initialized, 1) != 0)
|
||||
return;
|
||||
|
||||
// Use the custom-scheme redirect on Desktop. Loopback is only
|
||||
// a fallback for platforms that cannot register postit://
|
||||
// (see Settings.DefaultLoopbackRedirectUri for that path).
|
||||
Platform.DefaultRedirectUri = AuthenticationSettings.DefaultDesktopRedirectUri;
|
||||
Platform.CustomScheme = "postit";
|
||||
}
|
||||
}
|
||||
|
|
@ -12,8 +12,6 @@ sealed class Program
|
|||
[STAThread]
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
PlatformBootstrap.EnsureInitialized();
|
||||
|
||||
// Short-circuit 2nd-instance launches (OS handing us the
|
||||
// postit://callback URL) BEFORE Avalonia spins up a window.
|
||||
// If we let Avalonia initialise, the new MainWindow flashes
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue