|
|
|
|
- Propiedades específicas de las variables de tipo JWTParameters:
- Obtener los parámetros de un archivo JSON de Google
JWTParameters (Tipo de variable)
El tipo JWTParameter permite definir todos los datos necesarios para la autenticación basada en JWT. Las características de este tipo se pueden definir y cambiar utilizando diferentes propiedades WLanguage. Un token web JSON (JWT) consta de 3 cadenas separadas por puntos ("."): - La primera parte, el encabezado, es un JSON codificado con Base64Url que describe el tipo de token y el algoritmo utilizado para la firma.
- La segunda parte, la carga útil, es un JSON codificado con Base64Url que contiene las reclamaciones (o afirmaciones). Este JSON puede contener reclamaciones predefinidas que proporcionen información adicional sobre el token (fecha y hora de caducidad, destinatarios, asunto, etc.).
- La última parte, la firma, garantiza la autenticidad del token. Esta firma se genera a partir de los 2 primeros segmentos utilizando un algoritmo específico (por ejemplo, HS256 con una clave secreta).
Observación: Para obtener más información sobre la declaración de este tipo de variable y el uso de propiedades WLanguage, consulte Declarar una variable.
JWTParams is JWTParameters
JWTParams.TokenURL = "https://oauth2.googleapis.com/token"
JWTParams.Scope = "https://www.googleapis.com/auth/firebase.messaging"
JWTParams.Issuer = "firebase-adminsdk-m4j35@notifpushandroid28.iam.gserviceaccount.com"
JWTParams.Encryption = jwtRS256
JWTParams.PrivateKeyID = "8ae8fe7c76c9f6dbebaf5cba066e14ac26165277"
JWTParams.AdditionalParameters = [
sub=Test
nom=TOTO
email=toto@gmail.com
]
JWTParams.PrivateKey = [
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDLqXc2nE0iTK++
puV2N+H2DoXLjwi36y84LRdLFbfT7BIybOBehIhfGRNY3NsdCShw2VhGGHn1sWl5
2+w6Y2VCZqbMG0XfowdVq1TExyuIeEcRhieiG4EMjP6+yIvwf7rIkmjmflisHBks
iXNeBx1CwvfpafU3ssMAaQ+F1z8LhN1w5REAx8+nALMFOoGHK83edutxesqggpyk
bmcKM8R18ty9au6/sTcOXmnCy</span>KnSk8kOGvvjSvQG3UVWIKUrXdRxGami+Z7EhW
YBJRMlK1YFOzTLJo1kRebUBvZxMXCWxwYjj3uLIk9a/EtTUEVvSvSxxy7KTGK5Xi
9h8hf9UdAgMBAAECggEAD/6oMS7HVAlHyCZdYRJ0eZmcYmdCXQdodvX7nVcAT/F7
YGByopmwCB/1CAaYYshkV7CKIT8s3OHpEbv26oMB5dwj/2Wo8C5ilhTVnHqz7Yzc
sACkPjQAx5aPLzaa3vF5HuV4vZlwp1uxknDdEaZnYuXjCH7c1loAvJiDspQ8DFBn
8KauP5ww3hHIldLgdRu0TCNYIZnsNyTZRKd5PTZOvRtuHJGtYhrc4napcG2GS3ej
Nj7Uv23CxdbIFCu4J2C7BZdxNbT05koqZoAdmemVg6dnVXctVZSlIjZ4sE/6Dl7h
mlrmaV3TJdHuZTIvsDDvA2b7ujAxWnT6CKo31qSXQQKBgQD9T0UC+inzPTSlK6pr
RaxpTHW0eB9S6Q5/sT5I1VNYoRYe3t2MRcypDu</span>VIBZwywPy0WTcrXU8VXawR9a
0Cn3XXlMUe1bjIvuX5/3M8NgPihn7U3b4JeVpExggFioJPfktOELoaL5Dcaw6LRB
abdpirn9ZUtpmHZG+nNCfT+EjQKBgQDN0zUsZrAkBcq6dZEqzFt2SOh7UP4RwEED
D7NU1Y1P27e51zOcSD4IiQ5vuvxnRjB00QmAwk3ycDLMOd4GrNwtjCpXp5D+qkut
Ct5XZUuP+SMuVDhLhwCfw1l7LQvQJQDFGNZW9Bb9mNiKasWSDLDK1xNgv4uq9OQv
vZMzV2KW0QKBgQCB/wlaosmek92NmmAmFyaJD30kdbUVlpcjPvHI7PmN9XVluFgY
YcXLSOSBd886wae+H0KAjhD0zDmUPyH5N/Uhhm32leDq57D0T0zHz1/H535S/3zC
h3sjh6LOr29QM1CopY8MqhH6IHDEX1gKbdd7qX8TpMVT1rN0b5lxGNfdDQKBgFdb
1a3Kx+gCLVGGpN6tbgR+XW45qhyOpQlPmKXhHeFPOGPAWz9xyiKFSYNSsd6Dg/2Q
25+y2LKVvHnB9eKPa8RJQY+Cp5/vV79SZZxieffZnn0DcgFcg39LwqbtL55gljsR
l6fAYiGwxfe56bFbgY4WSzs9EWK2HkPFCr030biBAoGBAIOMvTq4Piqd2P/ShAoG
33xcBTwrmVKutEZH96BU77/IdD6B7s4jP0v7n9omdhttcVtBl5KThmNpvMAhbtb7
7coQ/ynoCpRZROS58hHhYQjIIuQO2RAsxBnaXP1gUFjQr9huDtgT9CDr8PoIIwYV
yYMBbJxhKhlBY9gYByl5G1qO
-----END PRIVATE KEY-----
]
MyToken is AuthToken = AuthIdentify(JWTParams)
IF MyToken.Valid THEN
Info("ok")
ELSE
Info(ErrorInfo(errFullDetails))
END
Propiedades Propiedades específicas de las variables de tipo JWTParameters: Las siguientes propiedades pueden utilizarse para manipular una autenticación basada en JWT: | | | Nombre de la propiedad | Tipo utilizado | Efecto |
---|
AdditionalParameters | Character string | Parámetros adicionales del token (utilizados en la carga útil). | Certificate | Certificate | Certificado que se utilizará para la firma del token. Este certificado solo se utiliza para el cifrado de tipo jwtRS256. | Encryption | Constante de tipo Integer | Algoritmo de cifrado utilizado: - jwtHS256: Algoritmo HS256 (HMAC con SHA-256).
- jwtRS256: Algoritmo RS256 (firma de RSA con SHA-256).
| Issuer | Character string | Emisor para la autenticación. | PrivateKey | Character string | Texto que representa la clave privada. Este texto comienza por "-----BEGIN PRIVATE KEY-----" o "-----BEGIN RSA PRIVATE KEY-----". Esta propiedad no es necesaria si se especificó la propiedad Certificate. | PrivateKeyID | Character string | Código de acceso secreto de la aplicación. Este código lo proporciona el servicio al registrar la aplicación. | Scope | Character string | Permisos solicitados. Los valores posibles son específicos del servicio web utilizado. | TokenURL | Character string | URL para obtener el token de acceso a utilizar (segunda URL del estándar OAuth 2.0). |
Observaciones Obtener los parámetros de un archivo JSON de Google
MyToken is AuthToken
JWTParams is JWTParameters
JWTParams = JSONToJWTParameters("C:\.<Google JSON file.>.\wd-mail-324009-72613ff8bc14.json")
JWTParams.Scope = "https://mail.google.com"
MyToken = AuthIdentify(JWTParams)
IF NOT MyToken.Valid THEN
Error(ErrorInfo(), HTMLToText(MyToken.ServerResponse))
RETURN
END
ToastDisplay("Connection successful", toastShort, vaBottom, haCenter)
INTERNAL PROCEDURE JSONToJWTParameters(sJSFileName, nEncryptionKey is int = jwtRS256): JWTParameters
jwtFromJsOAuth is JWTParameters
jsOAuth is JSON = fLoadBuffer(sJSFileName)
jwtFromJsOAuth.TokenURL = jsOAuth.token_uri..Value
jwtFromJsOAuth.Issuer = jsOAuth.client_email..Value
jwtFromJsOAuth.PrivateKeyID = jsOAuth.private_key_id..Value
jwtFromJsOAuth.PrivateKey = jsOAuth.private_key..Value
jwtFromJsOAuth.Scope = jsOAuth.universe_domain..Value
jwtFromJsOAuth.Encryption = nEncryptionKey
RETURN jwtFromJsOAuth
END
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|