Je suis en train d'essayer de cr�er une application qui int�gre Sumup et notamment la connexion avec un terminal de paiement.
J'utilise le plugin flutter sumup (https://pub.dev/packages/sumup) que j'ai modifi� notamment au niveau du login, pour essayer d'int�grer une connexion transparente pour l'utilisateur.
En utilisant cette documentation -> https://developer.sumup.com/docs/authorization/ , j'ai compris que l'utilisateur (qui est le vendeur) devrait se loguer une fois au d�but, puis je pourrais utiliser le refresh_token pour qu'il se logue ensuite sans rentrer � nouveau ses identifiants.
Je n'ai jamais mis en place de syst�me d'authentification dans mes applis flutter (qui sont tr�s basiques), et donc je n'arrive pas � comprendre le m�canisme, voici ce que je fais :
Je m'attends � avoir un �cran de connexion normalement, pour que le vendeur se connecte et que je re�oive dans data mes code d'authentification. Cela me print �a :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 http.Response response = await http.get(Uri.parse( "https://api.sumup.com/authorize?response_type=code&client_id=" + client_id + "&redirect_uri=myredirecturi")); if (response.statusCode == 200) { String data = response.body; print(data); }
Je comprends que je dois afficher cette page d'authentification, j'ai donc essayer de passer par un plugin, mais cela m'am�ne sur la page api.sumup.com/authorize qui reste blanche.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 I/flutter ( 3950): <!doctype html> I/flutter ( 3950): <html> I/flutter ( 3950): <head> I/flutter ( 3950): <title>SumUp OAuth</title> I/flutter ( 3950): <meta name="viewport" content="width=device-width, maximum-scale=1"> I/flutter ( 3950): <link rel="icon" href="/favicon.png"> I/flutter ( 3950): </head> I/flutter ( 3950): <body> I/flutter ( 3950): I/flutter ( 3950): <oauth></oauth> I/flutter ( 3950): I/flutter ( 3950): I/flutter ( 3950): <script src="/gateway/oauth.js"></script> I/flutter ( 3950): </body> I/flutter ( 3950): </html>
Quelque chose m'�chappe, j'ai fais des recherches et suivi des tutos (notamment celui de Auth0) mais je n'arrive pas � comprendre comment l'appliquer pour mon cas.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 final callbackUrlScheme = 'myredirecturl'; final url = Uri.https('api.sumup.com', '/authorize', { 'response_type': 'code', 'client_id': client_id, 'redirect_uri': '$callbackUrlScheme:/', }); final result = await FlutterWebAuth.authenticate( url: url.toString(), callbackUrlScheme: callbackUrlScheme); final code = Uri.parse(result).queryParameters['code']; final response = await http.post(Uri.parse('https://api.sumup.com/token'), body: { 'client_id': client_id, 'redirect_uri': '$callbackUrlScheme:/', 'grant_type': 'authorization_code', 'code': code, }); final accessToken = jsonDecode(response.body)['access_token'] as String; print(accessToken);
Merci par avance de votre aide.
Partager