1

現在、OpenId Connect と Chrome CustomTabs に基づく認証アプリを開発しています。認証フロー中に、ユーザーはリダイレクト URL に送信され、ここでいくつかの問題が発生しています。

私のアプリには、次のインテント フィルターがあります。

<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="sncfapp" android:host="callbackrurl" />
</intent-filter>

ただし、意図が機能しない場合があります。URLに文字「&」が使用されるたびに、インテントがトリガーされないようです。ERR_UNKNOWN_URL_SCHEME が表示されます。

私はadbを介して(別のレシーバーも)いくつかのURLの起動を開始しようとしましたが、これが私の結果です:

OK adb shell am start -a android.intent.action.VIEW -d "fitbittester://logincallback"

OK adb shell am start -a android.intent.action.VIEW -d "sncfapp://callbackrurl"

OK adb shell am start -a android.intent.action.VIEW -d "sncfapp://callbackrurl?code=45644546"

NOK adb shell am start -a android.intent.action.VIEW -d "sncfapp://callbackrurl?code=45644546&scope=test%20"

OK adb shell am start -a android.intent.action.VIEW -d "sncfapp://callbackrurl?scope=test%20"

OK adb shell am start -a android.intent.action.VIEW -d "fitbittester://logincallback?scope=test%20"

NOK adb shell am start -a android.intent.action.VIEW -d "fitbittester://logincallback?scope=test%20& code=1144"

正常ですか?このようなインテントは、REST パラメーターで使用することになっていることを知っています。ただし、get パラメーターを含む URL が呼び出されたときにインテントがトリガーされないのは奇妙に思えます。

4

2 に答える 2

0

この問題の原因となっている「&」の後にスペースがあることがわかるので、Url エンコーディングを使用してください!!

于 2016-01-05T10:33:10.870 に答える