22
22
import com .topcoder .onlinereview .component .email .TCSEmailMessage ;
23
23
import com .topcoder .onlinereview .component .external .ExternalUser ;
24
24
import com .topcoder .onlinereview .component .external .RetrievalException ;
25
+ import com .topcoder .onlinereview .component .jwt .JWTTokenGenerator ;
25
26
import com .topcoder .onlinereview .component .project .management .PersistenceException ;
26
27
import com .topcoder .onlinereview .component .project .management .Project ;
27
28
import com .topcoder .onlinereview .component .project .management .ProjectCategory ;
38
39
import com .topcoder .onlinereview .component .search .SearchBuilderException ;
39
40
import org .apache .commons .httpclient .HttpClient ;
40
41
import org .apache .commons .httpclient .methods .GetMethod ;
42
+ import org .apache .http .HttpHeaders ;
41
43
import org .slf4j .Logger ;
42
44
import org .slf4j .LoggerFactory ;
43
45
@@ -994,6 +996,7 @@ private String getV5Id(Long legacyId, Map<Long, Map<String, String>> challengeId
994
996
GetMethod getMethod = new GetMethod (challengeUrl + legacyId );
995
997
getMethod .addRequestHeader ("accept" , "application/json" );
996
998
try {
999
+ setM2AuthToken (getMethod );
997
1000
int statusCode = new HttpClient ().executeMethod (getMethod );
998
1001
if (statusCode == 200 ) {
999
1002
List <Map <String , Object >> res = new ObjectMapper ().readValue (getMethod .getResponseBodyAsString (), new TypeReference <List <Map <String , Object >>>(){});
@@ -1007,12 +1010,29 @@ private String getV5Id(Long legacyId, Map<Long, Map<String, String>> challengeId
1007
1010
} else {
1008
1011
log .error ("Get challenge Id error with statusCode: " + statusCode );
1009
1012
}
1010
- } catch (IOException e ) {
1013
+ } catch (Exception e ) {
1011
1014
log .error ("parse challenge error: " , e );
1012
1015
}
1013
1016
return "" ;
1014
1017
}
1015
1018
1019
+ /**
1020
+ * Set token header
1021
+ *
1022
+ * @param getMethod request method
1023
+ */
1024
+ public void setM2AuthToken (GetMethod getMethod ) throws Exception {
1025
+ if (managerHelper .getAuthClientId () != null ) {
1026
+ String token = JWTTokenGenerator .getInstance (managerHelper .getAuthClientId (),
1027
+ managerHelper .getAuthClientSecret (),
1028
+ managerHelper .getAuthAudience (),
1029
+ managerHelper .getAuthDomain (),
1030
+ Integer .parseInt (managerHelper .getAuthExpirationTime ()),
1031
+ managerHelper .getAuthProxyURL ()).getMachineToken ();
1032
+ getMethod .addRequestHeader (HttpHeaders .AUTHORIZATION , "Bearer " + token );
1033
+ }
1034
+ }
1035
+
1016
1036
/**
1017
1037
* Send or delete phase related emails.
1018
1038
*
0 commit comments