MS OAuth2 на пустой странице Android в веб-представлении входа в систему - если я нарушу конфигурацию, он будет отображать ошибку в веб-просмотре и работать - PullRequest
2 голосов
/ 05 марта 2019

У меня есть проект nativescript и я пытаюсь войти в систему, используя Oauth2.0.Сейчас на iOS все отлично работает.В Android всякий раз, когда я нажимаю на кнопку входа, веб-представление становится пустым белым, на консоли также ничего не выводится.

  • , если я скопирую и вставлю 'URL' веб-просмотра для авторизации и возьму его в браузере моего рабочего стола - все хорошо, и оно работает
  • Если я нарушу конфигурациюПо запросу, либо удалив «области видимости», либо добавив тарабарщину в redirectURI, веб-просмотр отображает страницу Microsoft с ошибкой того, что сломалось.
  • Пробный пирог и Oreo на Nexus 5 + Pixel XL2
  • Обновлен Chrome / Webview до последней версии
  • Реализована пользовательская схема URI для Android и iOS в соответствии с рекомендациями плагина nativescript-oauth2.
  • Протестировано веб-представление, чтобы убедиться, что оно работает с другими сайтами

Я пробовал что-то и уже почти 3 дня застрял на этом: (

В манифесте приложения для схемы:

<activity
        android:name="com.tns.NativeScriptActivity"
        android:label="@string/title_activity_kimera"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:theme="@style/LaunchScreenTheme">

        <meta-data android:name="SET_THEME_ON_LAUNCH" android:resource="@style/AppTheme" />

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

         <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <!-- Custom Path data -->
            <data android:path="/auth" 
            android:scheme="msala1ea6c64-3d77-4f2b-9baf-1cf72da2d376"/>
        </intent-filter>

    </activity>

Иконечно, есть 'android: launchMode = "singleTask"> `

Oauth2 Config:

`openIdSupport: 'oid-full',
        clientId: 'a1ea6c64-3d77-4f2b-9baf-1cf72da2d376',
        redirectUri: 'msala1ea6c64-3d77-4f2b-9baf-1cf72da2d376://auth',
        urlScheme: 'msala1ea6c64-3d77-4f2b-9baf-1cf72da2d376',
        scopes: ['openid', 'https://outlook.office.com/mail.read']`

и msala1ea6c64-3d77-4f2b-9baf-1cf72da2d376://auth зарегистрированы в Azure как redirectURI

...