2017-02-21 2 views
0

J'ai suivi le tutoriel des documents PM (http://wiki.processmaker.com/3.1/OAuth_2.0) et n'ai pas réussi à accéder au jeton d'accès. Actuellement, j'utilise la version d'évaluation de PM et je voudrais accéder aux API dans mon fichier java application java, mais le navigateur renvoie l'erreur suivante "XMLHttpRequest ne peut pas charger 'myPMServerAddress' a été bloqué par la stratégie CORS: Non ' L'en-tête Access-Control-Allow-Origin est présent sur la ressource demandée L'origine 'http://localhost:8100' n'est donc pas autorisée à accéder à la ressource ".Accès aux API du framework ProcessMaker BPM à partir d'une application externe

Une aide? J'ai enregistré mon serveur des applications (http://localhost:8100) dans la zone du site des (Applications de l'utilisateur -> + Nouveau) forme et mon code ressemble comme suit:

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

Solution: bien que le personnel de PM ait dit qu'il s'agissait d'un problème de sécurité sur leurs serveurs de version d'essai, j'ai découvert qu'il s'agissait d'une erreur dans l'espace de travail. https://trial.processmaker.com/sysmyWorkspace/oauth2/token était l'adresse que j'essayais d'atteindre, mais j'aurais dû supprimer le 'sys' de l'espace de travail et utilisé https://trial.processmaker.com/myWorkspace/oauth2/token – chri3g91

+0

Ahh et ça a résolu votre problème? Intéressant. –

Répondre

0

Vous devez désactiver CORS côté client

pour Ubuntu: google-chrome --disable-web-sécurité --user-data-dir

pour MS Windows: allez dans l'invite de commande et allez dans le dossier où est chrome.exe et tapez

chrome.exe --disable-web-security

Je peux tester cela sans erreur.