Skip to content
戻る

dotnet cliのMVCテンプレートの認証オプション

Published:  at  10:35

概要

dotnet cliのMVCテンプレートで認証付き.Net Core MVCのテンプレートを作成したのでメモ

OSX(Mac)環境でASP.NET Coreの開発をしてるんですが
Windows版のVisual Studio 2017では認証付きテンプレートが作成できるのに
Visual Studio for Macやdotnet cliでは作成できず詰まりました。
※各オプションの解説ではないです。オプションがありますよと言う記事です。

テンプレート自体にもオプションがあるとは中々気づきませんでした…
要するに下記画像の赤丸部分で設定できるオプションをdotnet cliでも設定したい。

目次

環境

参考リンク

成果物

https://github.com/Lycheejam/blog-sample/tree/master/twitter-callback 🔗

dotnet cliテンプレートの確認

下記コマンドでインストールされているテンプレートの一覧を確認できます。
カスタムインストール分も表示されます。

$ dotnet new -l
# または
$ dotnet new --list

dotnet cli MVCテンプレートのオプションを確認

下記コマンドでMVCテンプレートに関するオプションが確認できます。

$ dotnet new mvc -h
# または
$ dotnet new mvc --help

MVCテンプレートを使ったプロジェクトの作成

無印でのMVCプロジェクトの作成

下記コマンドを実行した場合、認証等を無しとしたMVC単品でのプロジェクトとなります。

$ dotnet new mvc -n hogehoge
# または
$ dotnet new mvc --name hogehoge

個人アカウントでの認証付きMVCプロジェクトの作成

下記コマンドで認証付きMVCプロジェクトを作成可能です。

$ dotnet new mvc -n hogehoge -au Individual
# または
$ dotnet new mvc --name hogehoge --auth Individual

認証要素(レベル?)についてはヘルプで参照できる下記を参照してください。

-au|--auth   The type of authentication to use
          None             - No authentication
          Individual       - Individual authentication
          IndividualB2C    - Individual authentication with Azure AD B2C
          SingleOrg        - Organizational authentication for a single tenant
          MultiOrg         - Organizational authentication for multiple tenants
          Windows          - Windows authentication
          既定: None

認証オプションの対応表

VisualStudio 2017での作成画面とdotnet cliでの作成オプションとの対応表です。
認証オプションのみ記載します。(HTTPSやdockerオプションなどは記載しない)

VisualStudio 2017dotnet cli参考画像
認証なしNone
個別のユーザアカウント アプリ内のストア ユーザアカウントIndividual
個別のユーザアカウント クラウドの既存のユーザストアに接続するIndividualB2C
職場または学校アカウント クラウド - 単一の組織SingleOrg
職場または学校アカウント クラウド - 複数の組織MultiOrg
Windows認証Windows

雑感

dotnet cliのナレッジはまだまだ発信されていないので簡単なことから発信していきたいですね。



前の記事
ASP.NET Core IdentityでTwitter認証をするとAn unhandled exception occurred while processing the requestが発生する
次の記事
GitHub + AWS CodeBuildでVue.jsプロジェクトのビルド&デプロイを自動化する。