PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Jetons JSON Web Token (JWT - RFC 7519)
Jetons JSON Web Token (JWT - RFC 7519)
Iniciado por alexandre.tieres, 09,mar. 2021 18:50 - 4 respuestas
Publicado el 09,marzo 2021 - 18:50
Bonjour,

Je cherche a utiliser l'API de apple mais je n'arrive pas à générer la bonne signature.

Voici mon code :

sHeader est une chaîne =[
{
"alg": "ES256",
"kid": "XXXXXXXXX",
"typ": "JWT"
}
]

sPayload est une chaîne =[
{
"iss": "XXXXXX-XXXXXXXX-XXXX-XXXXXXXX",
"exp": 1615315380,
"aud": "appstoreconnect-v1"
}
]

Private_Key est une chaîne=[
-----BEGIN PRIVATE KEY-----
XXXXXXXXXXXXX
-----END PRIVATE KEY-----
]

sHeaderEncode est une chaîne = Replace(Encode(sHeader, encodeBASE64URL),"=","")
sPayloadEncode est une chaîne = Replace(Encode(sPayload, encodeBASE64URL),"=","")

sSignature est une chaîne = Replace(Encode(HashChaîne(HA_HMAC_SHA_256, sHeaderEncode + "." + sPayloadEncode,Private_Key), encodeBASE64URL),"=","")

sTokenFinal est une chaîne = sHeaderEncode + "." + sPayloadEncode + "." + sSignature


Merci d'avance pour votre aide.

Cordialement.
Publicado el 10,marzo 2021 - 10:34
Bonjour,

Je cherche a utiliser l'API de apple mais je n'arrive pas à générer la bonne
signature.

Voici mon code :

sHeader est une chaîne =[
{
"alg": "ES256",
"kid": "XXXXXXXXX",
"typ": "JWT"
}
]

sPayload est une chaîne =[
{
"iss": "XXXXXX-XXXXXXXX-XXXX-XXXXXXXX",
"exp": 1615315380,
"aud": "appstoreconnect-v1"
}
]

Private_Key est une chaîne=[
-----BEGIN PRIVATE KEY-----
XXXXXXXXXXXXX
-----END PRIVATE KEY-----
]

sHeaderEncode est une chaîne = Replace(Encode(sHeader,
encodeBASE64URL),"=","")
sPayloadEncode est une chaîne = Replace(Encode(sPayload,
encodeBASE64URL),"=","")

sSignature est une chaîne = Replace(Encode(HashChaîne(HA_HMAC_SHA_256,
sHeaderEncode + "." + sPayloadEncode,Private_Key), encodeBASE64URL),"=","")

sTokenFinal est une chaîne = sHeaderEncode + "." + sPayloadEncode + "." +
sSignature


Merci d'avance pour votre aide.

Cordialement.


Bonjour Alexandre,

ah ? on a peut être un truc pour toi, faut que je vois avec mon dev où
il en est de la doc que je lui ai demandée.
Nous on avait un token à faire avec Jitsi (système de visio)
et on n'y arrivait pas

jusqu'à utiliser un openssl en ligne de commande

je ne sais pas si c'est la même démarche ?
et à part ça tu fais ça pourquoi ? Pourquoi te connectes-tu à
l'applestore ?
vu que l'on est aussi dans le mobile peut être que cela pourra nous
être utile aussi ?

je reviens vers toi asap

--
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Publicado el 22,marzo 2021 - 12:20
Bonjour,

Merci pour ton retour.

L'objectif est de pouvoir récupérer des statistiques d'une application déployée sur l'Apple store : nombre de téléchargements, etc....

Cordialement.
Publicado el 27,octubre 2022 - 09:28
Bonjour,

Je suis dans le même cas et je me souhaiterais savoir si l'un d'entre vous aurait avancé sur le sujet.

J'ai trouvé sur le site https://www.ionos.fr/digitalguide/sites-internet/developpement-web/json-web-token-jwt/ un exemple de calcul de signature.

Mon essai en WL ne donne pas le même résultat. Y aurait-il un truc évident que je n'aurais pas vu?
Bien cordialement,
Marc

// Jetons JSON Web Token (JWT - RFC 7519) AES_128_CBC_HMAC_SHA_256
// https://www.ionos.fr/digitalguide/sites-internet/developpement-web/json-web-token-jwt/
// Signature calculée par le site
Trace("dyt0CoTl4WoVjAHI9Q_CwSKhl6d_9rhM3NrXuJttkao")
// Signature calculée par PcSoft
Trace(Encode(HashString(HA_HMAC_SHA_256,"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9","secret"),encodeBASE64URL))
STOP