APIの実行は、Angular2ベースのアプリケーションやAPIから来る要求はOWINとのOAuth 2.0を使用して固定されて変更されることはありません。問題がどこにあるのかわからないので、コードのどの部分をここに貼り付けるべきか分かりません。ASP.NETのAPIのユーザーは、ローカルホスト上の
シナリオ: ユーザークライアントアプリケーション上で1件のログが ユーザー1は、トークンを取得(APIからトークンを要求します):XXXX ... ユーザー1は、自分のデータを検索し、サーバー ユーザーから戻って彼のデータを取得1クライアントアプリケーションおよびベアラトークンのうちログはlocalStorageを
ユーザー(同じアプリケーションセッション、同じサーバーセッション)で2つのログから削除され、APIからTakonを取得 ユーザー2は、トークンを取得します:YYYY ... ユーザー2は、彼のデータが検索されますが、ユーザからデータを取得し、1
サーバーは、ユーザー2のために別のトークンを取得しますが、
User.Identity.GetUserId();
サーバはまだそれを考えて
を見たときに
私も、API /アカウント/ログアウトを呼び出すログアウトユーザー1ですが、これはありません私は(ユーザー1ユーザー2からデータを取得します)私は正しいデータを取得するが、その後のシナリオだけで切り替えられたよりもローカルホストサーバーを再起動し、ユーザー2を使ってログインすると
public IHttpActionResult Logout()
{
Authentication.SignOut(CookieAuthenticationDefaults.AuthenticationType);
return Ok();
}
何も変更しません。 もっとコードが必要な場合(ただし、AccountControllerに関連するものは変更しませんでした)、私はそれを調べます。
何か助けていただければ幸いです。クライアントから
おかげ
APIは通常、記号アウト機能を持っていません。トークンサーバーは、通常一定の時間が経過した後に終了するトークンによってクライアントを検証して識別します。私は認証を再設計することは選択肢ではないと思いますか? – Crowcoder
@Crowcoderトークンを使用して正しいユーザーが見つかった場合、2人のユーザーに対して2つの異なるトークンが取得された場合、サーバーは両方が同じユーザーであることをサーバーに伝えているのはなぜですか?それは私が理解していないものです。私はログアウトが本当に必要ではないことを知っています、異なるトークンはそれを別のユーザとして見るには十分でなければなりません – lordvlad30
コードなしで言うことは不可能です。私はあなたがそれをデバッグしてそれを理解できると思うだろう。答えられないので、(質の)回答は得られません。 – Crowcoder