PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV Mobile 2024 → Authentification OAuth Android / IOS
Authentification OAuth Android / IOS
Iniciado por Eru, 10,jul. 2020 15:23 - 4 respuestas
Miembro registrado
4 mensajes
Publicado el 10,julio 2020 - 15:23
Bonjour,
J'essaye de réaliser une application avec une authentification OAuth 2.0.

L'authentification fonctionne très bien en débug (emulation android) mais ne fonctionne pas sur téléphone Android.

Procedure pg_OAuth()

OAuth2Params est OAuth2Paramètres
OAuth2Params..ClientID = "********"
OAuth2Params..URLAuth = "http://preprod.moncompte.*****/provider/connect/authorize"
OAuth2Params..URLToken = "http://preprod.moncompte.*****/provider/connect/token"
OAuth2Params..URLRedirection = "http://localhost:9000/"
OAuth2Params..Scope = "api.client.full openid"
OAuth2Params..ParamètresSupplémentaires = "response_type=id_token token&nonce=1"

// Demande d'authentification : ouvre la fenêtre de login
Token = AuthIdentifie(OAuth2Params)
Info(Token.Valide)
Info(Token.Valeur)
Info(Token.RéponseServeur)
SI Token <> Null ALORS

SI ErreurDétectée ALORS
Erreur(ErreurInfo())
SINON
QUAND EXCEPTIONEXCEPTION DANS
req est une httpRequête
req.URL = "http://preprod.moncompte.*****/provider/connect/userinfo"
req.AuthToken = Token
req..ContentType = "application/json"
req..Méthode = httpGet
rep est un httpRéponse = HTTPEnvoie(req)
JSON est une chaîne ANSI = rep..Contenu
identite = JSONVersVariant(JSON)
RENVOYER Vrai
FAIRE
Erreur("Erreur lors de l'authentification","Code erreur : 0x001")
RENVOYER Faux
FIN
FIN
FIN


RENVOYER Faux




Je vous remercie d'avance.
Miembro registrado
4 mensajes
Publicado el 11,julio 2020 - 10:54
Voici les url retournée dans les deux cas :

Debug émulation Android (fonctionne) :
http://localhost:9874/
?id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IldjclFQTVloQjlELUx3NC1ERHFUUnJzcmJXayIsImtpZCI6IldjclFQTVloQjlELUx3NC1ERHFUUnJzcmJXayJ9.eyJpc3MiOiJodHRwOi8vcHJlcHJvZC5tb25jb21wdGUuZWRlZG9jLmNvbS9wcm92aWRlciIsImF1ZCI6IjQ3NzE0OGIwLWNhYzEtZWExMS04MGQ1LTAwNTA1NmJhMjM1ZSIsImV4cCI6MTU5NDQ1NjE2OCwZWExMS04MGQ1LTAwNTA1NmJhMjM1ZSIsImF1dGhfdGltZSI6MTU5NDQ0OTQ4NSwiaWRwIjoiaWRzcnYiLCJodHRwOi8vbm92ZW5jaS5mci9zZWN1cml0eS9jbGFpbXMvVXNlckFjY291bnRJZCI6ImRlZjc3ZTIzLTc3YzItZWExMS04MGQ1LTAwNTA1NmJhMjM1ZSIsImFtciI6WyJwYXNzd29yZCJdfQ.uWiM-TZSm1A1rUrw7EhXFBWUSbR2av8AqTDcTQGlUsjLMp8_hSTba0atLC1A_uQqOkNCwAcS_U_cI-LbLrFfQUwKisPUM3QYrziweXDyY_mtIacmlHjnP1ScoPj1J_NevYfkFFv87FMoJwQgfE6f2ZYAcz4YjDE7DXkwqXyWtX6tF9PnAqJZ1XQS1fRgIIwy_2WfYrSS7eUbyrnt9pCTgwYum8cPbSlLilZ2FO9_mPex4i3s2I_Xy5d_sbupZ9f8z3lGLjTWnISX0MrrcZqtPNX_sJ07yxmUUPn7Bp9u2D8kkwT51BwpHFEpSOZdpCrAJWnDSvnaO5lOcHVDq1aEIg
&access_token=060023e2eadae92286971a9e1
&token_type=Bearer
&expires_in=3600
&scope=api.client.full%20openid
&state=16071507853420064659


Sur android (ne fonctionne pas => token..RéponseServeur = "" ) :
http://localhost:9874/
#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IldjclFQTVloQjlELUx3NC1ERHFUUnJzcmJXayIsImtpZCI6IldjclFQTVloQjlELUx3NC1ERHFUUnJzcmJXayJ9.eyJpc3MiOiJodHRwOi8vcHJlcHJvZC5tb25jb21wdGUuZWRlZG9jLmNvbS9wcm92aWRlciIsImF1ZCI6IjQ3NzE0OGIwLWNhYzEtZWExMS04MGQ1LTAwNTA1NmJhMjM1ZSIsImV4cCI6MTU5NDQ1NjExMCwibmJmIjoxNTk0NDU1ODEwLCJub25jZSI6IjFvM204bXhoZzA2IiwiaWF0IjoxNTk0NDU1ODEwLCJhdF9oYXNoIjoiQ05LY3RzLU5nYnFkdGdOM2JIMFVvUSIsInN1YiI6ImRkZjc3ZTIzLTc3YzItmRlZjc3ZTIzLTc3YzItZWExMS04MGQ1LTAwNTA1NmJhMjM1ZSIsImFtciI6WyJwYXNzd29yZCJdfQ.kqnFr11pPjlDFotmYVaXdsKAqBIgOaRHw3f_LncgQcCpH8l_gJ1nU_ewGNmkYk6eS3kNZFLZ9eNt-gw7LYFI8EzCinh1bMmexUe8QdTEWW_ZCidx9qlAsMy7tCoohsyQC3lp0lqWbgN8uzmJn1Cn9MP92GAZOa20TQbnLkrH6sEmu3dzhCGicTsqfQTUuths7gA8plniMBxq7InG4t13Ky9iRlZRYM26Ud26Igt7y9w4H9r0KKIb1w7Ool5GMjDM4i-bz6bl-MqHEEOlrFf6fmqoBV51DjRqrZcJgf33kQj-yTUbCQrvRaWqPBiStJUfjFf5sayuLLj8I_XU6w1aeA
&access_token=2c8242a8fdbfc1079fee1607
&token_type=Bearer
&expires_in=3600
&scope=api.client.full%20openid
&state=4906702505183


J'ai vérifier si le token, il fonctionne correctement dans les deux cas.

Pour l'émulation j'ai un ? après http://localhost:9874/ tandis qu'avec un tel android il me met un #.
Faut-il changer l'url de callback en quelquechose du genre myapp://quelquechose ? Si oui quelle est la structure de l'url de callback ?

Je vous remercie
Miembro registrado
4 mensajes
Publicado el 17,julio 2020 - 08:18
up
Miembro registrado
3.334 mensajes
Popularité : +93 (137 votes)
Publicado el 17,julio 2020 - 16:33
déjà tu peux remplacer localhost par l'ip lan
si tu es en réseau local
ensuite par l'ip wan (ne pas oublié de paramétrer ton routeur en conséquence)
si tu es via internet
et vérifier aussi ton pare-feu
Miembro registrado
4 mensajes
Publicado el 18,julio 2020 - 10:01
Je te remercie pour ta réponse même si elle ne concerne en rien mon cas.
En Oauth 2.0 tu as des url de redirection, qui sont paramétré côté serveur, mon fameux http://localhost:9874/

Rien a voir avec le pare-feu non plus.