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:
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?
Vérifiez votre URL de rappel et déconnectez l’URL. Le format correct est:
app_client_name:https://www.myapp.com/
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.