@udayrの答えは私を正しい道に導きました:
私は実際に ASP.Net Owin を使用しているので、次のようにすべてのアプリのAuth0AccountControllerでLogOffエンドポイントのオーバーロードを作成しました。
[HttpGet]
public ActionResult LogOff() {
return this.LogOff("");
}
次に、SLO (Single Log Of) ビューを追加し、次のコードを追加しました。
<iframe id="app1" height="0" width="0" src="http://app1.localtest.me/Auth0Account/LogOff"></iframe>
<iframe id="app2" height="0" width="0" src="http://app2.localtest.me/Auth0Account/LogOff"></iframe>
<h2 id="message">Logging off, please wait...</h2>
<script>
var app1Ready = false;
var app2Ready = false;
$('iframe').load(function (e) {
switch ($(e.target).attr("id")) {
case "app1":
app1Ready = true;
break;
case "app2":
app2Ready = true;
break;
}
if (app1Ready && app2Ready) {
$("#message").html("You have been Logged Off successfully!");
}
});
</script>
基本的に、iframe を介して新しい LogOff エンドポイントに Get 呼び出しを行う必要があります。唯一の欠点は、すべてのアプリケーションが他のすべてのアプリケーションのログオフ URL を知る必要があり、これをすべてのアプリケーションに実装する必要があることです。