Exemplo n.º 1
0
 internal static void HideIfPurposeIs(MsaAuthPurpose purpose)
 {
     if (lastDialogPurpose == purpose)
     {
         Hide();
     }
 }
Exemplo n.º 2
0
        internal static async Task <MsaAuthResult> ShowAsync(Context context, MsaAuthPurpose purpose, string oauthUrl)
        {
            authenticateTcs   = new TaskCompletionSource <MsaAuthResult>();
            lastDialogPurpose = purpose;

            authDialog = new Dialog(context, Android.Resource.Style.ThemeLightNoTitleBarFullScreen);

            authDialog.CancelEvent += (ss, ee) =>
            {
                authenticateTcs.TrySetResult(MsaAuthResult.CancelledByUser);
            };

            var linearLayout = new LinearLayout(authDialog.Context);

            webView = new WebView(authDialog.Context);
            linearLayout.AddView(webView);
            authDialog.SetContentView(linearLayout);

            webView.SetWebChromeClient(new WebChromeClient());
            webView.Settings.JavaScriptEnabled = true;
            webView.Settings.DomStorageEnabled = true;
            webView.LoadUrl(oauthUrl);

            webView.SetWebViewClient(new MsaWebViewClient(context, purpose));
            authDialog.Show();
            authDialog.SetCancelable(true);

            return(await authenticateTcs.Task);
        }
Exemplo n.º 3
0
 internal static async Task <MsaAuthResult> ShowAsync(Context context, MsaAuthPurpose purpose)
 {
     if (purpose == MsaAuthPurpose.App)
     {
         string url = "https://login.live.com/oauth20_authorize.srf?redirect_uri=https://login.live.com/oauth20_desktop.srf&response_type=code&client_id=" + Config.Secrets.ClientId2 + "&scope=User.Read+wl.offline_access";
         return(await ShowAsync(context, purpose, url));
     }
     else
     {
         throw new InvalidOperationException("AuthenticateDialog.Show() can't determine url");
     }
 }
Exemplo n.º 4
0
 internal static async Task <MsaAuthResult> ShowAsync(Context context, MsaAuthPurpose purpose)
 {
     if (purpose == MsaAuthPurpose.App)
     {
         string url = $"{Constants.ServerAddress}/v3/Authenticate/Graph";
         lastDialogPurpose = purpose;
         return(await ShowAsync(context, purpose, url));
     }
     else
     {
         throw new InvalidOperationException("AuthenticateDialog.Show() can't determine url");
     }
 }
Exemplo n.º 5
0
 public MsaWebViewClient(Context _context, MsaAuthPurpose _purpose)
 {
     purpose = _purpose;
     context = _context;
 }