このリポジトリには、保護されたWebAPIを消費する管理フロントエンドの.NET MAUIアプリケーションであるJWT認証を実装するASP.NETコアWebAPIアプリケーションが含まれています。
repository
|__src
| |__Foody -> web api project
| |__client -> maui project
| |__.gitignore
|__.gitignore
|__ReadME.md
このプロジェクトは、ローカルまたはコードスペースで実行できます。
インストールするためのいくつかの要件とワークロード:
コマンドプロンプト(Windows)またはターミナル(MAC)を開き、リポジトリをクローンで入力します。
git clone https://github.com/coderBane/food-web-app.git
コードドロップダウンメニューをクリックしてコードスペースを選択して、コードスペースでリポジトリを開きます
プロジェクトを実行する前に、最初にいくつかのことをセットアップする必要があります。
dotnet efをインストールします dotnet tool install -- global dotnet - efRedisコンテナインスタンスを作成します
docker run --name redis-cache -p 6379:6379 -d redis
コンテナインスタンスを作成します
docker run --name postgresql -e POSTGRES_PASSWORD=<yourpassword> -p 5432:5432 -d postgres
psqlを実行します
docker exec -it postgresql psql -U postgres
まず、新しい役割を作成する必要があります。この役割には、ログインとデータベースの作成が特権があります。
CREATE ROLE devuser WITH LOGIN CREATEDB PASSWORD '<yourpassword>';
新しいユーザーに切り替えます
c postgres devuser
データベースを作成します
CREATE DATABASE foody;
NOTE: You can run the command l to view all existing databases
プロジェクトを実行する前に、Web API用にいくつかのものを構成する必要があります。 foody.webapi.csprojファイルを開き、 usersecretsidプロパティを削除します。
新しいターミナルまたはコマンドプロンプトを開き、ディレクトリをfoody.webapiフォルダーに変更します。
コマンドを実行します:
dotnet user-secrets init
このWebサイトを使用してランダムな文字列を生成します。
新しいファイル「s.json」を作成し、次のように入力します
{
"JwtConfig": {
"Secret": "<generatedstring>",
"ExpiryTimeFrame": "00:01:00"
},
"WatchDog": {
"Username": "<yourusername>",
"Password": "<yourpassword>"
},
"Redis": "localhost",
"Postgres": "Server=localhost:5432;Database=foody;User Id=devuser;Password=<devuserpassword>;Integrated Security=true;Pooling=true;",
"UserPW": "<yourpassword>"
}
ユーザーの秘密を設定します
cat ./s.json | dotnet user-secrets set
NOTE: You can delete the s.json file
データベースにテーブルを作成する必要があります。
dotnet ef --startup-project ../Foody.WebApi database update
これでプロジェクトを実行できます
Swaggerなしで起動します
dotnet run
Swagger UIで起動します
dotnet watch