2016-06-28 2 views
0

내가 유튜브 API에 대한 OAuth를 2를 구현 오전 작업, 서버에유튜브의 OAuth는 .. 로컬 호스트

public class LocalServerReceiverRetriever { 

    private static final Logger logger = LoggerFactory 
      .getLogger(FileUploadController.class); 

    private static LocalServerReceiver localServerReceiver = null; 

    public static LocalServerReceiver getLocalServerReceiver(){ 
     if(localServerReceiver == null){ 
      localServerReceiver = new LocalServerReceiver.Builder().setPort(8081).build(); 
     }else{ 
      try { 
       localServerReceiver.stop(); 
      } catch (IOException e) { 
       logger.error(e.getMessage() + e.getCause()); 
      } 
      localServerReceiver = new LocalServerReceiver.Builder().setPort(8081).build(); 
     } 
     return localServerReceiver ; 
    } 
} 

공공 정적 자격 증명 권한 부여 (목록의 범위, 문자열 credentialDatastore)를 작동하지 않는 {

// Load client secrets. 
    // more code.... 

    // Build the local server and bind it to port 8081 
    LocalServerReceiver localReceiver = LocalServerReceiverRetriever.getLocalServerReceiver(); 

    logger.debug("localReceiver set up to 8081"); 

    // Authorize. 
    return new AuthorizationCodeInstalledApp(flow, localReceiver).authorize("user"); 
IOException가 슬로우

}

에서 근무하는 입니다. 논리적으로는 콜백 URL을 http://localhost:8081/CallBack으로 변경합니다. 로컬에서는 잘 작동하지만 공개 IP로 AWS 서버 으로 배포하면 작동하지 않습니다..

8081 예외로 이미 사용중인 주소를 표시하고 심지어 Google 인증 페이지로 리디렉션하지 않습니다.

답변

0

단순히 포트 8081이 AWS의 다른 서비스에 의해 점유되었다는 것을 의미합니다. 해당 서비스를 중지하거나 응용 프로그램에 대해 8081 이외의 새 포트를 선택하십시오. 효과가있을 것입니다.

+0

OAuth를 사용하기 전에 8081을 사용하고 있지 않습니다. OAuth를 호출 한 후에 만 ​​Java와 동일한 프로세스 ID가 사용되고 사용됩니다. – swemon

+0

Java와 동일한 프로세스 ID입니까? 어쨌든 다른 포트를 사용해 보시지 않으시겠습니까? 당신이 선택한 항구에서 일어나는 일입니까? –