facebook Xamarin.Auth Активность редиректор - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь добавить авторизацию facebook в моем приложении Xamarin (Google уже сделал)

На Facebook я добавляю https://www.facebook.com/connect/login_success.html в качестве URI для перенаправления OAuth действует, все мои параметры аутентификации включены.

В Xamarin:

public static string AndroidRedirectUrl = "https://www.facebook.com/connect/login_success.html"

в классе Constants_Facebook,

При нажатии:

          string clientId = null;
            string redirectUri = null;

            if (Device.RuntimePlatform == Device.iOS)
            {
                clientId = Constants_Facebook.iOSClientId;
                redirectUri = Constants_Facebook.iOSRedirectUrl;
            }
            else if (Device.RuntimePlatform == Device.Android)
            {
                clientId = Constants_Facebook.AndroidClientId;
                redirectUri = Constants_Facebook.AndroidRedirectUrl;
            }

            var AuthorizeUrl = new Uri(Constants_Facebook.AuthorizeUrl);
            var AndroidRedirectUrl = new Uri(Constants_Facebook.AndroidRedirectUrl);
            var AccessTokenUrl = new Uri(Constants_Facebook.AccessTokenUrl);

            var authenticator = new OAuth2Authenticator(
                clientId,
                string.Empty,
                Constants_Facebook.Scope,
                AuthorizeUrl,
                AndroidRedirectUrl,
                AccessTokenUrl,
                null,
                true);

            authenticator.Completed += OnAuthCompleted_fb;

            AuthenticationState.Authenticator = authenticator;

            var presenter = new Xamarin.Auth.Presenters.OAuthLoginPresenter();
            presenter.Login(authenticator);

Активность в части Android:

[Activity(Label = "ActivityCustomUrlSchemeInterceptor", NoHistory = true, LaunchMode = LaunchMode.SingleTop)]
[IntentFilter
    (
    actions: new[] { Intent.ActionView },
    Categories = new[]
            {
                Intent.CategoryDefault,
                Intent.CategoryBrowsable
            },
    DataScheme = "https",
    DataHost = "www.facebook.com",
    DataPath = "/connect/login_success.html"
    )]

Вкл.приложение, после входа в систему, я вижу только

Success , warning message about safety

Так что я думаю, что проблема либо в моем объявлении фильтра намерений, либо в части Facebook

У кого-нибудь есть идея?

1 Ответ

0 голосов
/ 04 декабря 2018

Я думаю, что есть проблема в Xamarin.auth или на Facebook:

var authenticator = new OAuth2Authenticator(
            clientId,
            string.Empty,
            Constants_Facebook.Scope,
            AuthorizeUrl,
            AndroidRedirectUrl,
            AccessTokenUrl,
            null,
            false);

Использование собственного интерфейса не работает, без работы.

...