2016-07-15 15 views
0

トークンベースの認証(IdentityとOWINを使用)を使用するWeb APIを開発しました。 私がする必要があるのは、トークンで行われた各要求でユーザーを識別し、そのユーザーにのみ属するデータを提供できるようにすることです。 私のアイデアは、成功した認証の直後に、そのユーザーレコードをトークンに挿入/更新することです。 どうすればいいですか? クライアントに応答を返す前に、トークンを取得するにはどうすればよいですか? ...それを達成する他の方法はありますか?レスポンスを送信する前にデータベースにベアラトークンを保存するにはどうすればよいですか?

+1

幸いなことに、私は素敵な記事に遭遇しました。それを読むには時間が必要です。http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp -net-identity/ – Sherlock

+0

これはまさに私のWeb APIを実装するための記事でした。それは私の質問に答えることはできません – Ewertonews

答えて

1

ユーザーを識別するためにトークンを格納する必要はありません。ユーザーIDは、トークンに自己完結型です。

リソースサーバが取得すると(Microsoft.Owin.Security.OAuth DLLで実現される)要求OAuth2.0ミドルウェアは、トークンを復号し、Identity性(方法のほとんどにおいてcontext.Ticket.Identity又はcontext.Identity)にそれを設定します。次に、ユーザーIDを確認できます。

許可サーバーとリソースサーバーを分離でき、リソースサーバーは通常、承認サーバーデータベースにアクセスできないことを考慮してください。

関連する問題