web-dev-qa-db-ja.com

Amazon Cognito:ブラウザーからAndroidアプリにリダイレクトするときに「redirect_mismatch」エラーの取得を停止する方法

Androidプロジェクトを作成しようとしています。このプロジェクトでは、ユーザーにブラウザーでAmazon Cognitoにログインさせることでユーザーを認証します。これにより、。残念ながら、ブラウザが開くと、適切なサインインページに到達する代わりに、このエラーが表示され続けます。

enter image description here

私のAuthenticatorActivity.Javaで:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_authenticator);

    Uri authzUrl = Uri.parse("https://<myDomain>.auth.us-west-2.amazoncognito.com/login?response_type=token&client_id=<myClientId>&redirect_uri=myapp://mainAct");
    Intent launchBrowser = new Intent(Intent.ACTION_VIEW, authzUrl);
    startActivity(launchBrowser);
}

AndroidManifestの場合:

<activity Android:name=".MainActivity">
    <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:Host="mainAct" Android:scheme="myapp"></data>
    </intent-filter>
</activity>

ここで何が間違っているのかわかりません。ステップがありませんか?

11
JHowzer

わかりました、次にそれを見つけるかもしれない人のためにここにちょっとした情報を残しています。私はこの問題にまったく同じ問題を見つけましたが、CognitoとIdP/SSOの初心者として、これを修正する方法がわかりませんでした。これが最終的にこれを修正するために行ったことです。外部サービスと統合していましたが、このエラーが発生していました。 Chrome Developer Tools-> Networkで、アクセスしたURLの記録を開始した後、SSO統合を再試行しました。 URL:このURLは、CognitoのコールバックURLの下にリストされているURLと同じでなければなりません。

うまくいけば、これにより将来誰かが時間を節約できます。

6
rlasch

私の場合、エラーは古いファイルを提供しているCloudFrontが原因でした。

それを解決するには; AWSコンソールを介してCloudFrontファイルを無効にできます。追伸使える /*すべてのファイルを無効にします https://docs.aws.Amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html

1
Neil