2017-09-12 24 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" 
    }); 

端點問題開始(其實我想也從內部控制Web客戶端調用它,它並不需要是AJAX調用任何可以接受的)。所以它返回403錯誤。我做錯了什麼?我應該放一些標題嗎?有沒有人有任何經驗?

+0

你能附上403錯誤的全部內容嗎?另外,你可能會在'iisnode'日誌中找到更多細節,通常位於'c:/ program files/sisense/prismweb/vnext/iisnode'下。最後,當你在頁面上執行對'logout'的'ajax'調用時,如果你打開開發者控制檯,你能看到Sisense cookie嗎? ('prism'或'prism_shared') – motig88

+0

嗨,它沒有這些餅乾。我試圖手動添加這些(這不是很好的解決方案),但它仍然沒有奏效。我只是認爲ajax調用不支持該api(例如,在Azure中,他們也不支持ajax調用,至少我發現了一個人在談論它的對話)。 – maximelian1986

回答

0

終於搞定了。

所以ajax調用沒有奏效,但重定向是解決方案。

新增控制器

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

你也可能需要激活CORS on Sisesnse

正如你可能使用一些像SSO天青你可以把註銷行動網址內Sisense SSO設置,註銷端點。所以它首先進行sisense註銷,然後返回到您的網站,並讓Azure註銷。