first commit Riabu
This commit is contained in:
45
force-app/main/default/classes/RiabuAuthAccessToken.cls
Normal file
45
force-app/main/default/classes/RiabuAuthAccessToken.cls
Normal file
@@ -0,0 +1,45 @@
|
||||
public class RiabuAuthAccessToken {
|
||||
|
||||
public static String getAccessToken() {
|
||||
|
||||
RIABU_Integration__mdt config = RIABU_Integration__mdt.getInstance('Riabu_Record');
|
||||
|
||||
System.debug('🔄 Token expired or unavailable. Requesting new token...');
|
||||
|
||||
HttpRequest req = new HttpRequest();
|
||||
req.setEndpoint(config.Endpoint__c + '/api/v1/oauth/token');
|
||||
req.setMethod('POST');
|
||||
req.setHeader('Content-Type', 'application/json');
|
||||
|
||||
|
||||
Map<String, String> payload = new Map<String, String>();
|
||||
payload.put('username', config.Username__c);
|
||||
payload.put('client_id',config.Client_Id__c);
|
||||
payload.put('client_secret',config.Client_Secret__c);
|
||||
payload.put('password', config.Password__c);
|
||||
payload.put('grant_type', config.Grant_Type__c);
|
||||
req.setBody(JSON.serialize(payload));
|
||||
|
||||
|
||||
Http http = new Http();
|
||||
HttpResponse res = http.send(req);
|
||||
|
||||
System.debug('📥 Token Response: ' + res.getBody());
|
||||
|
||||
if (res.getStatusCode() != 200) {
|
||||
System.debug('❌ Token generation failed');
|
||||
return null;
|
||||
}
|
||||
|
||||
Map<String, Object> tokenMap = (Map<String, Object>) JSON.deserializeUntyped(res.getBody());
|
||||
|
||||
String newAccessToken = (String) tokenMap.get('access_token');
|
||||
String newRefreshToken = (String) tokenMap.get('refresh_token');
|
||||
|
||||
System.enqueueJob(new RiabuTokenUpdateJob('Riabu_Record', newAccessToken, newRefreshToken));
|
||||
|
||||
System.debug('✅ Token refreshed and CMDT update queued');
|
||||
|
||||
return newAccessToken;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user