Based on ASP.NET Core.
- Data Presentation
- Sorting
- Pagination
- Searching
- Filtering
- ETag
- Data Persistence
- Inheritance
- File Digest
- Authentication
- Registration
- Login
- Token Renewal
- Token Disposal
- Email Confirmation
- Password Reset
- Login through Third-party Platforms
-
Two-factor Authentication(Not planned) -
Phone Number Confirmation(Not planned)
- TapTap
- Login & Account Binding
A template for both ./appsettings.Development.json
and ./appsettings.Production.json
is as follows.
{
"Secret": "YourSecretHere",
"ConnectionStrings": {
"DefaultConnection": "Host=localhost:5432;Username=yourusername;Password=yourpassword;Database=yourdatabase"
},
"CertificatePassword": "YourPasswordHere",
"TapTapSettings": {
"ClientId": "yourid",
"ClientToken": "yourtoken",
"TapApiUrl": "https://openapi.taptap.com",
"FileStorageUrl": "https://oss.example.com"
},
"RabbitMQSettings": {
"HostName": "localhost",
"Port": 5672,
"UserName": "yourusername",
"Password": "yourpassword"
},
"FeishuSettings": {
"ApiUrl": "https://open.feishu.cn",
"AppId": "yourappid",
"AppSecret": "yourappsecret",
"Cards": [
"songcard",
"chartcard",
"petanswercard"
],
"Chats": [
"contentreviewal",
"qualificationreviewal",
"recruitmentreviewal"
]
},
"MessengerSettings": {
"ApiUrl": "https://msgapi.example.com",
"ClientId": "yourid",
"ClientSecret": "yoursecret"
},
"TapGhostSettings": {
"ApiUrl": "https://tapapi.example.com",
"ClientId": "yourid",
"ClientSecret": "yoursecret"
},
"AuthProviders": [
{
"Name": "GitHub",
"ApplicationId": "yourguid",
"ClientId": "yourid",
"ClientSecret": "yoursecret",
"AvatarUrl": "https://res.example.com/github-mark.png",
"IllustrationUrl": "https://res.example.com/github.png"
}
],
"RedisConnection": "localhost:6379,password:yourpassword",
"SeekTuneUrl": "http://localhost:2338",
"NatsUrl": "nats://localhost:4222",
"Proxy": "http://this-is-an-optional-field:1080",
"AutoMapperLicense": "yourlicensekey"
}
A template for ./Resources/resources.json
is as follows.
{
"ProhibitedWords": [
"word1",
"word2",
"word3"
]
}
For details on processing an image on the OSS, see Qiniu Developer Docs.