|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (PHP Extension) hacienda.go.cr Refrescar un TokenRefreshes an access token for the Recepción de Comprobantes Electrónicos del Ministerio de Hacienda (Costa Rica) Note: This example requires Chilkat v11.0.0 or greater. For more information, see https://www.hacienda.go.cr/ATV/ComprobanteElectronico/docs/esquemas/2016/v4.3/Guia_IdP.pdf 
 <?php include("chilkat.php"); $success = false; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // It is assumed we previously obtained an OAuth2 access token. // This example loads the JSON access token file // saved by this example: Get hacienda.co.cr OAuth2 Access Token $jsonToken = new CkJsonObject(); $success = $jsonToken->LoadFile('qa_data/tokens/hacienda_cr.json'); if ($success != true) { print 'Failed to load constantContact.json' . "\n"; exit; } // The access token JSON looks like this: // { // "access_token": "ey....", // "expires_in": 300, // "id_token": "ey....", // "not-before-policy": 0, // "refresh_expires_in": 1800, // "refresh_token": "ey...", // "session_state": "...", // "token_type": "bearer" // } $http = new CkHttp(); // Implements the following CURL command: // curl -X "POST" "https://idp.comprobanteselectronicos.go.cr/auth/realms/rut-stag/protocol/openid-connect/token" \ // -H "Content-Type: application/x-www-form-urlencoded; charset=utf-8" \ // --data-urlencode "client_id=api-stag" \ // --data-urlencode "refresh_token=ey..." \ // --data-urlencode "grant_type=refresh_token" // Use the following online tool to generate HTTP code from a CURL command // Convert a cURL Command to HTTP Source Code $req = new CkHttpRequest(); $req->put_HttpVerb('POST'); $req->put_Path('/auth/realms/rut-stag/protocol/openid-connect/token'); $req->put_ContentType('application/x-www-form-urlencoded'); $req->AddParam('client_id','api-stag'); $req->AddParam('refresh_token',$jsonToken->stringOf('refresh_token')); $req->AddParam('grant_type','refresh_token'); $resp = new CkHttpResponse(); $success = $http->HttpReq('https://idp.comprobanteselectronicos.go.cr/auth/realms/rut-stag/protocol/openid-connect/token',$req,$resp); if ($success == false) { print $http->lastErrorText() . "\n"; exit; } $sbResponseBody = new CkStringBuilder(); $resp->GetBodySb($sbResponseBody); $jResp = new CkJsonObject(); $jResp->LoadSb($sbResponseBody); $jResp->put_EmitCompact(false); print 'Response Body:' . "\n"; print $jResp->emit() . "\n"; $respStatusCode = $resp->get_StatusCode(); print 'Response Status Code = ' . $respStatusCode . "\n"; if ($respStatusCode >= 400) { print 'Response Header:' . "\n"; print $resp->header() . "\n"; print 'Failed.' . "\n"; exit; } // Sample JSON response: // (Sample code for parsing the JSON response is shown below) // { // "access_token": "ey....", // "expires_in": 300, // "id_token": "ey....", // "not-before-policy": 0, // "refresh_expires_in": 1800, // "refresh_token": "ey...", // "session_state": "...", // "token_type": "bearer" // } // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON $access_token = $jResp->stringOf('access_token'); $expires_in = $jResp->IntOf('expires_in'); $id_token = $jResp->stringOf('id_token'); $not_before_policy = $jResp->IntOf('not-before-policy'); $refresh_expires_in = $jResp->IntOf('refresh_expires_in'); $refresh_token = $jResp->stringOf('refresh_token'); $session_state = $jResp->stringOf('session_state'); $token_type = $jResp->stringOf('token_type'); // Save the new JSON access token response to a file. $success = $jResp->WriteFile('qa_data/tokens/haciendda_cr.json'); ?> | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.