ASP.NET Core 2.0では、.UseAuthentication()ミドルウェアに重大な変更が加えられ、 ここで言及した古い構文 が機能しなくなりました。
新しいバージョンはaddAuthenticationの設定を処理しているように見えますが、カスタムログインおよびログアウトURLを指定した古いコードを変更する方法に関する詳細はどこにもありません。
services.AddAuthentication(o =>
{
// Where can I specify this?????
var opt = new CookieAuthenticationOptions()
{
LoginPath = "/api/login",
LogoutPath = "/api/logout",
};
o.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
o.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
});
任意の助けをいただければ幸いです...
2.0で少し変更されたため更新RTM bits
予想よりもはるかに簡単ですが、 公式ドキュメント はまだ更新されていないため、プレーンCookie authで機能するものは次のとおりです。
構成:
ConfigureServices()
で、特定の認証メカニズムを構成します。
_services
.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(o =>
{
o.LoginPath = "/api/login";
o.LogoutPath = "/api/logout";
// additional config options here
});
_
次に、Configure()
でミドルウェアを実際に接続します。
_app.UseAuthentication();
_
認証コンポーネントの使用
次に、実際のAuthコンポーネントを使用するために、ロジックは_HttpContext.Authentication
_オブジェクトから、コントローラーコードのようなアプリケーションロジックのHttpContext
にシフトしました。
_await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme,
new ClaimsPrincipal(identity));
_
または:
_await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
_
投稿した例は、とにかく実際のコードではないようです(つまり、AddCookieAuthentication
への引数としてではなく、AddAuthentication呼び出し内にあるnew CookieAuthenticationOptions()
)。 AddAuthorization
呼び出し内に認証を追加するのではなく、ここで標準ミドルウェアをセットアップするだけです。 この発表 を参照してください。
古い:
services.AddAuthentication(sharedOptions =>
sharedOptions.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme);
app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions
AutomaticChallenge = true,
AutomaticAuthenticate = true,
新着:
app.AddAuthentication(o => {
o.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
o.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
o.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
});
そしてその
services.AddXxxAuthentication(new XxxOptions() { ... });
に置き換えられます
services.AddXxxAuthentication(options => {
});
構成を受け入れる他のすべてのメソッドとインラインになります。
また、 ASP.NET Core Announcements GitHub Repository を常に見る価値があります。ASP.NETCore Teamが次のバージョンの重大な変更を発表する場合、そこに特定のマイルストーンを選択するだけです。つまり、 2.0 .0-preview1 、 2.0.0-preview2 など.