You need to sign in to do that
Don't have an account?
AAjay
List< OauthToken > lstOauthToken = [Select id, user.name, accesstoken,DeleteToken From OauthToken Where userid =: Userinfo.getUserId() AND
(appname = 'Salesforce1 for Android' OR appname = 'Salesforce1 for iOS')];
String urlRevoke = 'https://login.salesforce.com/services/oauth2/revoke?token=';
urlRevoke += lstOauthToken[0].DeleteToken;
HttpRequest req = new HttpRequest();
req.setEndpoint(urlRevoke);
req.setHeader('Content-Type','application/x-www-form-urlencoded');
req.setMethod('GET');
Http http = new Http();
HttpResponse res = http.send(req);
system.debug('CR=response= '+res);
I got this error message: Status=Found, StatusCode=302
If someone know how to fix, share please!
how to revoke access token
List< OauthToken > lstOauthToken = [Select id, user.name, accesstoken,DeleteToken From OauthToken Where userid =: Userinfo.getUserId() AND
(appname = 'Salesforce1 for Android' OR appname = 'Salesforce1 for iOS')];
String urlRevoke = 'https://login.salesforce.com/services/oauth2/revoke?token=';
urlRevoke += lstOauthToken[0].DeleteToken;
HttpRequest req = new HttpRequest();
req.setEndpoint(urlRevoke);
req.setHeader('Content-Type','application/x-www-form-urlencoded');
req.setMethod('GET');
Http http = new Http();
HttpResponse res = http.send(req);
system.debug('CR=response= '+res);
I got this error message: Status=Found, StatusCode=302
If someone know how to fix, share please!
I don't know if its too late to respond to this thread.
But i have used your code given above today and it worked for me.
I have only changed https://login.salesforce.com to my instance url https://na23.salesforce.com
Hope this helps.
String tokenEncode = EncodingUtil.URLENCODE(lstOauthToken[0].DeleteToken,'UTF-8');
urlRevoke += tokenEncode;
====
Here is the complete code -
List< OauthToken > lstOauthToken = [Select id, user.name, accesstoken,DeleteToken From OauthToken Where userid =: Userinfo.getUserId() AND
(appname = 'Salesforce1 for Android' OR appname = 'Salesforce1 for iOS')];
String urlRevoke = 'https://na23.salesforce.com/services/oauth2/revoke?token=';
String tokenEncode = EncodingUtil.URLENCODE(lstOauthToken[0].DeleteToken,'UTF-8');
urlRevoke += tokenEncode;
HttpRequest req = new HttpRequest();
req.setEndpoint(urlRevoke);
req.setHeader('Content-Type','application/x-www-form-urlencoded');
req.setMethod('GET');
Http http = new Http();
HttpResponse res = http.send(req);
system.debug('CR=response= '+res);
Its easier for Functional people =)
1) Change the Connected App name on the query (replace 'YOUR Connected App Name')
2) Don't forget to add your URL on Remote Site Settings. You can enable User Debug and run this class to see the right one.