web-dev-qa-db-fra.com

Amazon Cognito: Comment arrêter l'erreur "redirect_mismatch" lors de la redirection d'un navigateur vers une application Android

J'essaie de créer un projet Android dans lequel j'autorise un utilisateur en lui demandant de se connecter à Amazon Cognito dans un navigateur, qui devrait ensuite rediriger vers mon application. Malheureusement, lorsque le navigateur s'ouvre, au lieu d'atteindre la page de connexion appropriée, le message d'erreur suivant s'affiche:

 enter image description here

Dans mon 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);
}

Dans 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>

Je ne peux pas comprendre ce que je fais mal ici. Est-ce que je manque une étape? 

4
JHowzer

Vérifiez votre URL de rappel et déconnectez l’URL. Le format correct est:

app_client_name:https://www.myapp.com/

entrez la description de l'image ici

2
Alok Verma

Ok, je laisse une friandise ici à quiconque pourrait le trouver ensuite. J'ai frappé ce problème exactement le même problème, mais en tant que débutant chez Cognito et IdP/SSO, je ne savais pas comment résoudre ce problème. Voici ce que j'ai fait pour résoudre ce problème. Nous nous intégrions à un service externe et nous obtenions cette erreur. Sous Outils de développement Chrome -> Réseau, j'ai commencé à enregistrer les URL visitées, puis j'ai essayé à nouveau l'intégration SSO. Un URL figurant dans la liste a visité Cognito avec une redirection vers une URL. Cette URL doit être identique à celle indiquée sous l'URL de rappel pour Cognito. 

J'espère que cela fera gagner un peu de temps à quelqu'un.

0
rlasch