Added packages and updated readme
This commit is contained in:
kdeng00
2022-08-07 17:05:49 -04:00
parent 2cd8c83e28
commit f0551a4801
2 changed files with 40 additions and 3 deletions
+2
View File
@@ -11,6 +11,7 @@
<PackageReference Include="DotNetZip" Version="1.15.0" /> <PackageReference Include="DotNetZip" Version="1.15.0" />
<PackageReference Include="EntityFramework" Version="6.4.4" /> <PackageReference Include="EntityFramework" Version="6.4.4" />
<PackageReference Include="ID3" Version="0.6.0" /> <PackageReference Include="ID3" Version="0.6.0" />
<PackageReference Include="JWT" Version="9.0.3" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.1" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.1" /> <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.8" /> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.8" />
@@ -21,6 +22,7 @@
<PackageReference Include="MySql.EntityFrameworkCore" Version="5.0.8" /> <PackageReference Include="MySql.EntityFrameworkCore" Version="5.0.8" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="NLog.Web.AspNetCore" Version="4.14.0" /> <PackageReference Include="NLog.Web.AspNetCore" Version="4.14.0" />
<PackageReference Include="Portable.BouncyCastle" Version="1.9.0" />
<PackageReference Include="RestSharp" Version="106.15.0" /> <PackageReference Include="RestSharp" Version="106.15.0" />
<PackageReference Include="SevenZip" Version="19.0.0" /> <PackageReference Include="SevenZip" Version="19.0.0" />
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.15.0" /> <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.15.0" />
+38 -3
View File
@@ -16,7 +16,22 @@ One can interface with Icarus the music server either by:
* C# [.NET](https://dotnet.microsoft.com/) 6 * C# [.NET](https://dotnet.microsoft.com/) 6
* [MySql](https://www.nuget.org/packages/MySql.Data/) * [MySql](https://www.nuget.org/packages/MySql.Data/)
* OpenSSL
* BCrypt.Net-Next
* DotNetZip
* ID3
* JWT
* Microsoft.AspNetCore.Authentication.JwtBearer
* Microsoft.AspNetCore.Mvc.NewtonsoftJson
* Microsoft.EntityFrameworkCore
* Microsoft.EntityFrameworkCore.Tools
* MySql.EntityFrameworkCore
* [Newtonsoft.Json](https://www.newtonsoft.com/json) * [Newtonsoft.Json](https://www.newtonsoft.com/json)
* NLog.Web.AspNetCpre
* Portable.BouncyCastle
* RestSharp
* SevenZip
* System.IdentityModel.Tokens.Jwt
* [TagLib#](https://github.com/mono/taglib-sharp) * [TagLib#](https://github.com/mono/taglib-sharp)
![image](https://user-images.githubusercontent.com/14333136/56252069-28532d00-6084-11e9-896d-1a3c378014ef.png) ![image](https://user-images.githubusercontent.com/14333136/56252069-28532d00-6084-11e9-896d-1a3c378014ef.png)
@@ -24,9 +39,10 @@ One can interface with Icarus the music server either by:
## Getting started ## Getting started
There are several things that need to be completed to properly setup and secure the API. There are several things that need to be completed to properly setup and secure the API.
1. Auth0 API configuration 1. Auth0 API configuration
2. API filesystem paths 2. Creating RSA keys
3. Database connection string 3. API filesystem paths
4. Migrations 4. Database connection string
5. Migrations
### Auth0 API configuration ### Auth0 API configuration
@@ -80,6 +96,25 @@ Enter the information in the corresponding appsettings json file
}, },
``` ```
### Creating RSA keys
1. Create private key
```
openssl genrsa -out private.pem 2048
```
2. Create public key
```
openssl rsa -in private -pubout -out public.pem
```
Configure the key paths in the config files
```Json
"RSAKeys": {
"PrivateKeyPath": "",
"PublicKeyPath": ""
}
```
### API filesystem paths ### API filesystem paths
For the purposes of properly uploading, downloading, updating, deleting, and streaming songs the API filesystem paths must be configured. What is meant by this is that the `RootMusicPath` directory where all music will be stored must exist as well as the `ArchivePath` and `TemporaryMusicPath` paths. An example on a Linux system: For the purposes of properly uploading, downloading, updating, deleting, and streaming songs the API filesystem paths must be configured. What is meant by this is that the `RootMusicPath` directory where all music will be stored must exist as well as the `ArchivePath` and `TemporaryMusicPath` paths. An example on a Linux system: