2017-02-21 51 views
0

Я следил за учебником из документов PM (http://wiki.processmaker.com/3.1/OAuth_2.0) и не имел успеха в доступе к токену доступа. В настоящее время я использую пробную версию PM, и я хотел бы получить доступ к API в моем java-файле java-приложения, но браузер возвращает следующую ошибку «XMLHttpRequest не может загрузить 'myPMServerAddress' был заблокирован политикой CORS: Нет ' Заголовок доступа «Access-Control-Allow-Origin» присутствует на запрошенном ресурсе. Поэтому «http://localhost:8100» не разрешен. ».Доступ к API-интерфейсам API ProcessMaker BPM из внешней привязки

Любая помощь ?? Я зарегистрировал свои приложения сервера (http://localhost:8100) в окне веб-сайте (User Applications -> + New) формы и мой код выглядит как следует:

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/token – chri3g91

+0

Ах, и это решило вашу проблему? Интересно. –

ответ

0

Вам нужно отключить CORS в стороне клиента

для Ubuntu: Google-хром повреждают-веб-безопасности --user-данных реж

для MS Windows: перейдите в командную строку и перейдите в папку, где chrome.exe является и тип

chrome.exe --disable-web-security

Я могу проверить это без ошибок.