#include #include #include #include "OpenidAPI.h" #define MAX_NUMBER_LENGTH 16 #define MAX_BUFFER_LENGTH 4096 // get service account issuer OpenID JSON Web Key Set (contains public token verification keys) // char* OpenidAPI_getServiceAccountIssuerOpenIDKeyset(apiClient_t *apiClient) { list_t *localVarQueryParameters = NULL; list_t *localVarHeaderParameters = NULL; list_t *localVarFormParameters = NULL; list_t *localVarHeaderType = list_createList(); list_t *localVarContentType = NULL; char *localVarBodyParameters = NULL; size_t localVarBodyLength = 0; // clear the error code from the previous api call apiClient->response_code = 0; // create the path char *localVarPath = strdup("/openid/v1/jwks"); list_addElement(localVarHeaderType,"application/jwk-set+json"); //produces apiClient_invoke(apiClient, localVarPath, localVarQueryParameters, localVarHeaderParameters, localVarFormParameters, localVarHeaderType, localVarContentType, localVarBodyParameters, localVarBodyLength, "GET"); // uncomment below to debug the error response //if (apiClient->response_code == 200) { // printf("%s\n","OK"); //} // uncomment below to debug the error response //if (apiClient->response_code == 401) { // printf("%s\n","Unauthorized"); //} //primitive return type simple string char* elementToReturn = NULL; if(apiClient->response_code >= 200 && apiClient->response_code < 300) elementToReturn = strdup((char*)apiClient->dataReceived); if (apiClient->dataReceived) { free(apiClient->dataReceived); apiClient->dataReceived = NULL; apiClient->dataReceivedLen = 0; } list_freeList(localVarHeaderType); free(localVarPath); return elementToReturn; end: free(localVarPath); return NULL; }