Xamarin.Auth не завершен

Я разрабатываю приложение с Xamarin.Android, и мне нужна система входа в систему. Поэтому я использую Xamarin.Auth. Я создаю OAuth2Authenticator, но не работаю с auth.completed. Как удалось выполнить огневую аутентификацию?

public void LoginToSabis()
            {
                var auth = new OAuth2Authenticator(
                    clientId: "example_android",
                    scope: "read",
                    authorizeUrl: new Uri("example/authorize"),
                    redirectUrl: new Uri("ex/callback"));

            auth.AllowCancel = true;



        // If authorization succeeds or is canceled, .Completed will be fired. BUT WHEN SUCCEEDS NOT WORKING, WHEN CANCELED WORKING...
        auth.Completed += async (s, ee) =>
        {


            if (!ee.IsAuthenticated)
            {

                var builder = new Android.Support.V7.App.AlertDialog.Builder(this);
                builder.SetMessage("Not Authenticated");
                builder.SetPositiveButton("Ok", (o, e) => { });
                builder.Create().Show();
                return;
            }

            AccountStore.Create(Application.Context).Save(ee.Account, "cg");
            StartActivity(typeof(LoginRedirectActivity));
            };
}

person Cenk Gün    schedule 07.09.2016    source источник


Ответы (1)


До версии 1.4.x Xamarin.Auth требовалась реальная (существующая) конечная точка, и она пыталась загрузить ее во встроенный WebView, поэтому ваша проблема заключалась в следующем:

redirectUrl: new Uri("ex/callback")

Вам нужно что-то вроде http://somehost.top.level.domain. ПРИМЕЧАНИЕ. localhost не будет работать с более старыми версиями Xamarin.Auth.

Начиная с версии 1.4.0 некоторые из этих ограничений были сняты, и разрешен redirect_url с пользовательскими схемами.

person moljac    schedule 11.05.2017