@@ -254,7 +254,7 @@ KeyState AampDRMLicenseManager::acquireLicense(std::shared_ptr<DrmHelper> drmHel
254254 const char *sessionToken = NULL ;
255255 if (!usingAppDefinedAuthToken)
256256 { /* authToken not set externally by app */
257- sessionToken = getAccessToken (tokenLen, tokenError , aampInstance-> mConfig -> IsConfigSet (eAAMPConfig_SslVerifyPeer) );
257+ sessionToken = getAccessToken (tokenLen, tokenError);
258258 AAMPLOG_WARN (" Access Token from AuthServer" );
259259 }
260260 else
@@ -333,7 +333,7 @@ KeyState AampDRMLicenseManager::acquireLicense(std::shared_ptr<DrmHelper> drmHel
333333 }
334334 int tokenLen = 0 ;
335335 int tokenError = 0 ;
336- const char *sessionToken = getAccessToken (tokenLen, tokenError,aampInstance-> mConfig -> IsConfigSet (eAAMPConfig_SslVerifyPeer) );
336+ const char *sessionToken = getAccessToken (tokenLen, tokenError);
337337 if (NULL != sessionToken)
338338 {
339339 AAMPLOG_INFO (" Requesting License with new access token" );
@@ -589,76 +589,39 @@ string extractSubstring(string parentStr, string startStr, string endStr)
589589/* *
590590 * @brief Get the accessToken from authService.
591591 */
592- const char * AampDRMLicenseManager::getAccessToken (int &tokenLen, int &error_code , bool bSslPeerVerify )
592+ const char * AampDRMLicenseManager::getAccessToken (int &tokenLen, int &error_code)
593593{
594594 if (accessToken == NULL )
595595 {
596- DownloadResponsePtr respData = std::make_shared<DownloadResponse> ();
597- // Initialize the Seesion Token Connector
598- DownloadConfigPtr inpData = std::make_shared<DownloadConfig> ();
599- inpData->bIgnoreResponseHeader = true ;
600- inpData->eRequestType = eCURL_GET;
601- inpData->iStallTimeout = 0 ; // 2sec
602- inpData->iStartTimeout = 0 ; // 2sec
603- inpData->iDownloadTimeout = DEFAULT_CURL_TIMEOUT;
604- inpData->bNeedDownloadMetrics = true ;
605- inpData->bSSLVerifyPeer = bSslPeerVerify;
606- mAccessTokenConnector .Initialize (inpData);
607- mAccessTokenConnector .Download (SESSION_TOKEN_URL, respData);
608-
609- if ( respData->curlRetValue == CURLE_OK )
610- {
611- if (respData->iHttpRetValue == 200 || respData->iHttpRetValue == 206 )
612- {
613- string tokenReplyStr;
614- mAccessTokenConnector .GetDataString (tokenReplyStr);
615- string tokenStatusCode = extractSubstring (tokenReplyStr, " status\" :" , " ,\" " );
616- if (tokenStatusCode.length () == 0 )
617- {
618- // StatusCode could be last element in the json
619- tokenStatusCode = extractSubstring (tokenReplyStr, " status\" :" , " }" );
620- }
621- if (tokenStatusCode.length () == 1 && tokenStatusCode.c_str ()[0 ] == ' 0' )
596+ std::string token;
597+ if (ContentSecurityManager::GetInstance ()->getSessionToken (token))
598+ {
599+ size_t len = token.length ();
600+ if (len > 0 )
601+ {
602+ accessToken = (char *)malloc (len+1 );
603+ if (accessToken)
622604 {
623- string token = extractSubstring (tokenReplyStr, " token\" :\" " , " \" " );
624- size_t len = token.length ();
625- if (len > 0 )
626- {
627- accessToken = (char *)malloc (len+1 );
628- if (accessToken)
629- {
630- accessTokenLen = (int )len;
631- memcpy ( accessToken, token.c_str (), len );
632- accessToken[len] = 0x00 ;
633- AAMPLOG_WARN (" Received session token from auth service in [%f]" ,respData->downloadCompleteMetrics .total );
634- }
635- else
636- {
637- AAMPLOG_WARN (" accessToken is null" ); // CID:83536 - Null Returns
638- }
639- }
640- else
641- {
642- AAMPLOG_WARN (" Could not get access token from session token reply" );
643- error_code = eAUTHTOKEN_TOKEN_PARSE_ERROR;
644- }
605+ accessTokenLen = (int )len;
606+ memcpy ( accessToken, token.c_str (), len );
607+ accessToken[len] = 0x00 ;
608+ AAMPLOG_WARN (" Received session token from auth service" );
645609 }
646610 else
647611 {
648- AAMPLOG_ERR (" Missing or invalid status code in session token reply" );
649- error_code = eAUTHTOKEN_INVALID_STATUS_CODE;
612+ AAMPLOG_WARN (" accessToken is null" ); // CID:83536 - Null Returns
650613 }
651614 }
652615 else
653616 {
654- AAMPLOG_ERR ( " Get Session token call failed with http error %d " , respData-> iHttpRetValue );
655- error_code = respData-> iHttpRetValue ;
617+ AAMPLOG_WARN ( " Invalid access token from ContentSecurityManager " );
618+ error_code = eAUTHTOKEN_TOKEN_PARSE_ERROR ;
656619 }
657620 }
658621 else
659622 {
660- AAMPLOG_ERR (" Get Session token call failed with curl error %d " , respData-> curlRetValue );
661- error_code = respData-> curlRetValue ;
623+ AAMPLOG_ERR (" ContentSecurityManager failed to get access token " );
624+ error_code = eAUTHTOKEN_TOKEN_PARSE_ERROR ;
662625 }
663626 }
664627
0 commit comments