2017-02-21 90 views
0

我已經按照PM文檔(http://wiki.processmaker.com/3.1/OAuth_2.0)中的教程進行了操作,並且沒有成功訪問訪問令牌。 目前我正在使用PM的試用版,我想訪問我的Java應用程序js文件中的API,但瀏覽器返回以下錯誤「XMLHttpRequest無法加載'myPMServerAddress'已被CORS策略阻止: Access-Control-Allow-Origin'標題出現在所請求的資源上,因此'http://localhost:8100'不允許訪問'「。從外部應用程序訪問ProcessMaker BPM框架的API

任何幫助? 我註冊的(用戶應用程序 - > +新)網站盒子內我的應用程序服務器(http://localhost:8100)的形式和我的代碼看起來如下:

var restServer = 'https://trial.processmaker.com/'; 
var workspace = 'sysmyWorkspace/'; 
var jqxhr = $.ajax({ 
    type: "POST", 
    url: restServer + workspace + 'oauth2/token',  
     data: { 
     grant_type : 'password', 
     scope  : '*', 
     client_id : 'myClientId', 
     client_secret: 'myClientSecret', 
     username  : 'admin', 
     password  : 'myPassword' 
    } 
}) 
    .done(function(data) { 
     if (data.error) { 
      alert("Error in login!\nError: " + data.error + "\nDescription: " + data.error_description); 
     } 
     else if (data.access_token) {     
      alert("data access token received!");    
      var d = new Date(); 
      d.setTime(d.getTime() + 60*60*1000); 
      document.cookie = "access_token=" + data.access_token + "; expires=" + d.toUTCString(); 
      document.cookie = "refresh_token=" + data.refresh_token; //refresh token doesn't expire 
     } 
     else { 
      alert(JSON.stringify(data, null, 4)); 
     } 
    }) 
    .fail(function(data, statusText, xhr) { 
     alert("Failed to connect.\nHTTP status code: " + xhr.status + ' ' + statusText); 
    });  
}); 
+0

解決方案:雖然PM的工作人員表示這是他們試用版服務器上的安全問題,但我發現這是工作區中的錯誤。 https://trial.processmaker.com/sysmyWorkspace/oauth2/token是我想要達到的地址,但我應該從工作空間中刪除'sys'並使用https://trial.processmaker.com/myWorkspace/oauth2 /令牌 – chri3g91

+0

啊,這解決了你的問題?有趣。 –

回答

0

您需要在客戶端禁用CORS

Ubuntu的: 谷歌鉻 - 禁用網絡安全的user-data-dir的

爲Windows女士: 進入到命令提示符,進入其中的chrome.exe是文件夾,然後鍵入

chrome.exe - 禁用網絡安全

我可以測試沒有錯誤。

相關問題