2015-04-21 140 views
1

是否有Salesforce端點用於註銷會話(不涉及oauth?)。Salesforce REST API註銷

例如,我有一個使用用戶名,密碼,安全令牌方法(我正在使用simple_salesforce)通過REST API登錄的python腳本。simple_salesforce不提供內置的註銷方式。相反,根據開發商,退出應該是我們的責任: https://github.com/heroku/simple-salesforce/issues/35

在上面的網址,就建議我們打的銷售人員撤銷端點如下所述: https://help.salesforce.com/HTViewHelpDoc?id=remoteaccess_revoke_token.htm&language=en_US

然而,正如我之前提到的,我使用用戶名,密碼,安全令牌方法登錄,而不是oauth。 假設我無法使用oauth方式登錄,需要點擊哪個網址/終端才能註銷會話?

謝謝!

回答

1

回答我自己的問題。也許這可能對其他人有幫助。

當使用用戶名,密碼,安全標記方法而不是oauth登錄時,仍然使用oauth撤銷端點進行註銷。如Salesforce文檔(https://help.salesforce.com/apex/HTViewHelpDoc?id=remoteaccess_revoke_token.htm&language=en)所示,撤銷終結點具有以下網址:https://login.salesforce.com/services/oauth2/revoke?token=currenttokenID

我們打到端點的令牌實際上是我們的session_id。所以,在simple_salesforce,一旦我們已經創建了SF對象如下

sf = Salesforce(username='[email protected]', password='password', security_token='token') 

我們通過sf.session_id獲取會話ID。

現在打端點,我們可以使用要求(這已經是那裏的SF對象)

payload = { "token": sf.session_id } 
url = 'https://test.salesforce.com/services/oauth2/revoke' 
r = sf.request.get(url, params=payload) 
if r.status_code == 200: 
    #successfully logged out, good to go! 
else: 
    #uh-oh, something went wrong. check it out 

希望這有助於!