2017-02-21 7 views
0

PM 문서 (http://wiki.processmaker.com/3.1/OAuth_2.0)에서 자습서를 수행했으며 액세스 토큰에 액세스하지 못했습니다. 현재 PM의 평가판을 사용하고 있으며 Java 응용 프로그램 js 파일의 API에 액세스하려고하지만 브라우저에서 다음 오류를 반환합니다. "XMLHttpRequest가 CORS 정책에 의해 차단 된 'myPMServerAddress'를로드 할 수 없습니다 : No ' 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/token – chri3g91

+0

아, 그러면 문제가 해결 되었습니까? 흥미 롭 군. –

답변

0

당신은 클라이언트 측에서 CORS를 중지해야

우분투 : 구글 크롬 --user-데이터 디렉토리 MS 윈도우에 대한

--disable-웹 보안 : 명령 프롬프트로 가서 chrome.exe의가있는 폴더로 가서 입력

chrome.exe --disable-web-security

오류없이 테스트 할 수 있습니다.