2017-09-12 3 views
0

Sisense에서 사용자를 로그 아웃하는 데 문제가 있습니다. 그래서 jwt를 사용하여 로그인하고 SisenseJS를 사용하여 대시 보드를 볼 수 있습니다. 이제 로그 아웃 (https://sisense/api/auth/logout)을 호출하고 싶습니다. Sisense는 동일한 로컬 네트워크 내에있는 다른 서버에 있으므로 10.0.0.45와 같은 IP가 있으며 호스트 파일 내부의 "sisense"에 매핑했습니다. 문제 없다.API 호출로 Sisense 로그 아웃

그런 다음 브라우저로 가서 주소 표시 줄에 https://sisense/api/auth/logout을 입력하면 작동합니다. 또한 자체 서명 인증서를 사용하므로 "이 사이트가 신뢰할 수 없으므로 계속 하시겠습니까? bla bla bla"라고 묻습니다. 내가

$.ajax({ 
       method: "GET", 
       contentType: 'application/json', 
      url: "https://sisense/api/auth/logout" 
    }); 

아약스

으로부터 엔드 포인트를 호출 할 때 문제가 시작 (실제로 나는 또한 컨트롤러 내부 웹 클라이언트에서 호출을 시도하고, 허용 아무것도 전화가 아약스 일 필요는 없습니다). 그래서 그것은 403 오류를 반환합니다. 내가 뭘 잘못하고 있니? 머리글을 몇 개 넣어야합니까? 어느 누구도 그것에 대해 경험이 있습니까?

+0

403 오류의 전체 내용을 첨부 할 수 있습니까? 또한'cis :/program files/sisense/prismweb/vnext/iisnode' 아래에있는'iisnode' 로그에서 더 자세한 정보를 찾을 수 있습니다. 마지막으로'logout'에 대한'ajax' 호출을 실행중인 페이지에서 개발자 콘솔을 열면 Sisense 쿠키를 볼 수 있습니까? ('prism' 또는'prism_shared') – motig88

+0

안녕하세요, 쿠키가 없습니다. 수동으로 추가하려고했는데 (아주 좋은 해결책은 아니지만) 여전히 효과가 없었습니다. 나는 단지 아약스 호출이 그 API를 지원하지 않는다고 생각한다. (예를 들어, Azure에서도 아약스 호출을 지원하지 않는다. 적어도 누군가가 그것에 대해 이야기하고있는 한 대화를 찾았다.) – maximelian1986

답변

0

마지막으로 작동했습니다.

그래서 ajax 호출이 작동하지 않았지만 리디렉션이 해결책이었습니다.

추가 컨트롤러 당신은 아마 당신이 로그 아웃 엔드 포인트로 Sisense SSO 설정 안에 그 로그 아웃 액션 URL을 넣을 수 있습니다 하늘빛처럼 일부 SSO를 사용하는 것과

public ActionResult SignOut() 
     { 
      return Redirect("https://sisenseAddress/api/v1/authentication/logout"); 
     } 

은 또한 당신이 CORS on Sisesnse

를 활성화해야합니다 그리고있다. 따라서 먼저 sisense logout을 수행 한 다음 사이트로 돌아가 Azure 로그 아웃을 수행하십시오.

관련 문제