5

の中にトークン認証付きの「ApiController」を追加する方法この質問にはいくつかの下降音が聞こえるかもしれませんが、Googleでは3日間Googleで検索しています。Asp Net Core RC1 MVC

Visual Studioで、個々のユーザーアカウントの認証/承認を使用して、デフォルトのASP.NET Core 1.0 RC1プロジェクトを作成しました。プロジェクトはMicrosoft.AspNet.Authentication.Cookiesを使用してスキャフォールドされており、VS 2015はすべて重労働なので、この方法はすべて簡単で簡単です。

ただし、同じデータベース、ユーザー、クレームなどを使用して同じプロジェクトからモバイルデバイスや単純なSPAで使用されるAPIを公開したいとします。このようにして、APIにJWTのようなものを使用する必要があります(WebAPIのみでこれを行う方法についてのチュートリアルがたくさんあります)。

MVC(SPAではなく)の方法を使用して、ビュー/コントローラのスキャフォールディングとVisual Studioが提供できるすべての機能を利用するメインプロジェクトを行いたいと考えています。

MVC専用のアプローチやWebAPIのみのアプローチのチュートリアルがたくさんありますが、どのようにそれらを混在させることができますか?

MVCとWebAPIだけでJWTを使用する方法はありますか?

ありがとうございます。

+0

だけFYI:MVCとWebAPIのはMVC 6に統合されました'Controller'は 'MVC'と 'API'コントローラの両方の基底クラスとして機能します。もはや 'ApiController'はありません。 –

+0

こんにちは@HenkMollema私は知っている...この理由のために私は引用符の間に "ApiController"を入れました。私はコントローラが同じであることを知っています。とにかく、ありがとうございます。 –

+0

こんにちは@Cezar。あなたはこれを理解したことがありますか?私はまったく同じシナリオと質問を持っています。ありがとうございました –

答えて

1

Limiting identity by schemeこのリンクはご質問の回答になる場合があります。そのようなことは 複数の認証方法、 ログ内とJavaScript要求に対するベアラ認証にクッキー認証で終わることが可能である単一ページのアプリケーションのようにいくつかのシナリオでは、

私は(もちろん、あなたがクッキーやベアラミドルウェアを有効にする必要があります)、あなたはMVCとJavaScript呼び出すためのコードの下に使用することができると思う:

[Authorize(AuthenticationSchemes = "Cookie,Bearer")] 
public class YourController : Controller 
+0

お返事ありがとうございます! ASP.NET Core 1では 'ActiveAuthenticationSchemes'属性しかなく、コンストラクタの外にあるため、これがASP.NET Core 1では機能しないことを謝ります。さて、パラメータとして受け付ける唯一のものは、ポリシー名を含む文字列です。 'public AuthorizeAttribute(string policy);'。 「WebAPI専用」ポリシーを作成する方法を教えてください。 –

+0

私はコードをテストすることができませんでしたが、解決策かもしれません: 'options.AddPolicy(" PolicyName "、policy => { policy.Requirements.Add(new Infrastructure.MinimumAgeRequirement(21)); policy.AddAuthenticationSchemesベアラ "); });' –

関連する問題