при попытке получить токен из Azure AD B2C появляется ошибка - PullRequest
0 голосов
/ 16 ноября 2018

Я создал отдельное приложение xamarin и пытался получить токен после входа в систему. Я придерживаюсь фрагмента кода, подобного тому, что упоминается здесь

https://azure.microsoft.com/en-us/resources/samples/active-directory-b2c-xamarin-native/

в моих настройках Арендатора такие

enter image description here

URL моего перенаправления также правильно отформатирован, как

 PCA.RedirectUri = $"msal{GlobalSetting.Instance.ClientID}://auth";

но

IEnumerable<IAccount> accounts = await App.PCA.GetAccountsAsync();
        AuthenticationResult ar = await App.PCA.AcquireTokenAsync(GlobalSetting.Instance.Scopes, GetAccountByPolicy(accounts, GlobalSetting.Instance.PolicySignUpSignIn), App.UiParent);

этот вызов переводит меня на страницы Azure AD b2c, и я настроил там Facebook. После входа в Facebook, он показывает мне ошибку

этот большой URL, а затем "не удалось загрузить, потому что нетто: ERR_UNKNOWN_URL_SCHEME "

enter image description here

мой файл манифеста Android выглядит следующим образом

    <application android:label="HaveThat" android:roundIcon="@mipmap/icon">
    <application> 
    <activity android:name="microsoft.identity.client.BrowserTabActivity">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="msald6b07784-0e3a-483a-9exxxxxxc524ed1d" android:host="auth" />
        </intent-filter>
    </activity>
</application>
    <provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}.fileprovider" android:exported="false" android:grantUriPermissions="true">
        <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"></meta-data>
    </provider>
</application>

ОБНОВЛЕНИЕ

после удаления внутреннего блока приложения веб-страница не отображается с ошибкой. вместо этого он показывает пустой экран в моем приложении, и следующая строка в коде также не появляется.

enter image description here

1 Ответ

0 голосов
/ 18 ноября 2018

исправлено использование true в качестве второго параметра в UIParent

           App.UiParent = new UIParent(this, true);

, что говорит системе использовать встроенный браузер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...