2017-01-25 7 views
3

ASP.NET CoreスタートアップConfigureの方法では、ピープラインを設定するときにUseIdentityからASP.NET Core Identityまで、またはUseCookieAuthenticationを使用できます。どちらもクッキーベースの認証を提供します。UseCookieAuthenticationとUseIdentityの違いは?

私はその違いが何であるか知りたいです。 UseIdentityは内部でUseCookieAuthenticationを使用していますか?互いに長所と短所は何ですか?

ありがとうございます。

答えて

6

hereおよびhereのドキュメントから入手できます。

Cookie認証ミドルウェア:

ASP.NETコアは、暗号化されたクッキーにユーザプリンシパルをシリアル化し、その後、後続のリクエストに、クッキーを検証するクッキーミドルウェアを提供するプリンシパルを再作成し、それをユーザーに割り当てますHttpContextのプロパティ独自のログイン画面とユーザーデータベースを提供する場合は、Cookieミドルウェアをスタンドアロン機能として使用できます。

アイデンティティ:

ASP.NETコアアイデンティティは、あなたのアプリケーションへのログイン機能を追加することを可能にする会員制です。ユーザーはアカウントを作成し、ユーザー名とパスワードでログインするか、Facebook、Google、Microsoftアカウント、Twitterなどの外部ログインプロバイダーを使用できます。

短いアイデンティティは、ローカル認証だけで構築され、外部認証を実行する機能と、ユーザーアカウントのプロビジョニングのためのソリューションでベークされた機能を提供します。

それぞれの賛否両論は、あなたのビジネスによって異なりますが、どちらも私が見つけた独自の場所は通常ケースバイケースで決まります。

アイデンティティの内部動作は、githubページhereにあります。

+0

最終的な目標は、サイドトークン(JWTベアラ)認証に同時にクッキー認証を設定することです。私は、ASP.NET IDではなくクッキー認証を使用する方が簡単だと思います。しかし、私は全くわかりません。私のユースケースのシナリオです。 –

2

UseIdentityはUseCookieAuthenticationを内部的に使用していますか?

Yes.

しかし、UseIdentityとUseCookieAuthentication両方が認証2.0で廃止されるであろう。

UseIdentity

UseCookieAuthentication

services.AddCookieAuthentication()app.UseAuthentication()が代わりに使用されるであろう。

重要な注意: UseIdentityがある場合は、UseCookieAuthenticationを使用しないでください。私はプロジェクトで一緒にそれらを混在させました。クレームベースの認可は、AccessDeniedページの代わりにLoginPageにユーザーをリダイレクトしました。

関連する問題