>

WSO2IoT v3.1.0을 다운로드했으며 회사 내부에 앱 스토어를 만들려고합니다. 여기에 게시 된 지침을 따르고 있습니다 :

https://docs.wso2.com/display/IoTS310/Creating + an + Android + Application

그러나 만들거나 앱을 만들 수없고 식별 할 수없는 오류 메시지가 없습니다.

기본 사용자 ID와 비밀번호로 https : // localhost : 9443/publisher (1 및 2 단계). 3 단계는 새 모바일 애플리케이션 추가를 클릭하면 작동합니다. Android (4 단계) 및 Enterprise (5 단계)를 선택할 수 있습니다. 그런 다음 6 단계에서 APK를 선택하고 다음 (7 단계)을 클릭하십시오.

다음 페이지에는 몇 가지 이상한 점이 있습니다 :

<올>
  • "업로드 중입니다. 잠시만 기다려주십시오." 페이지 상단 근처에 진행 표시 줄이 있지만 변경/완료되지는 않습니다.
  • '버전'입력란은 별표와 회색으로 표시되어 있습니다.
  • 내가 제공 한 값에 관계없이 하단에있는 "만들기"를 클릭하면 이전 페이지로 돌아갑니다.
  • wso2carbon.log 인 경우 7 단계에서이 오류 메시지가 나타납니다.

    TID : [-1234] [] [2018-02-21 17 : 43 : 14,263] WARN {org.owasp.csrfguard.log.JavaLogger}-잠재적 CSRF (Cross-Site Request Forgery) 공격이 차단되었습니다 (사용자 : , ip : 127.0.0.1, 메소드 : POST, uri :/publisher/api/mobileapp/upload, 오류 : 요청에 필수 토큰이 누락 됨) {org.owasp.csrfguard.log.JavaLogger}

    '만들기'를 클릭해도 오류 메시지가 표시되지 않습니다.

    상점에서 앱을 성공적으로 만드는 방법과 무엇이 잘못되었는지 잘 모르겠습니다.

    업데이트 1:

    Chromium 내부에서 네트워크 트래픽을보고 7 단계에서 "다음"을 클릭하면 웹 브라우저가 POST를 https : // localhost : 9443/publisher/api/mobileapp/upload 이며 403 Forbidden이 반환됩니다.

    두 개의 JSESSIONID (이상하게 보이는)를 포함하여 일부 쿠키가 전송되고 있음을 알 수 있습니다.

    JSESSIONID = 4D274F4F3A5AABE1F7D61E27C384B973;JSESSIONID = 9EB3FADCEE9CA1C5156D25133FDC2C7E;requestedURI = "../../ policy/effective-policy? type = android&id =";commonAuthId = 7a7c8a6c-7932-42ef-b670-4ccf50b14bfa;samlssoTokenId = b3b01735-5aac-4e60-9863-af4fce62abb0

    흥미롭게도 "안전한"쿠키로 표시된 쿠키는 없습니다.

    이 요청이 내가 선택한 APK를 보내려고하는 것 같습니다. 응답 본문은 일반적인 403 금지 페이지입니다.

    이것은 WSO2IoT v3.1.0의 버그입니까?

    • 답변 # 1

      이것은 IOT 서버 3.1.0의 버그 인 것 같습니다. 다음 파일을 편집하여이 문제를 해결할 수 있습니다.

      [SERVER_HOME]/conf/security/Owasp.CsrfGuard.Carbon.properties

      아래 줄을 찾아 /* 를 추가하십시오  끝까지

      org.owasp.csrfguard.unprotected.publisherApi=%servletContext%/publisher/api

      위의 내용을 다음과 같이 편집하십시오. 와이즈 비즈

      이 문제는 최신 코드에서 수정되었음을 알 수 있습니다. 9964e 참조

      org.owasp.csrfguard.unprotected.publisherApi=%servletContext%/publisher/api/*

  • 이전 python - 프록시 IP를 통해 Flask 로컬 호스트 서버에 연결
  • 다음 javascript - 원자 적이어야하는 코드에 Promiseresolve를 적용하는 방법