Add Middleware to routes. Also ReadMe!

This commit is contained in:
eccentric 2023-11-05 22:13:47 +00:00
parent 188e7dc7b0
commit 03f3220c3b
2 changed files with 7 additions and 2 deletions

View File

@ -71,11 +71,13 @@ func main() {
account.Delete("/oauth/sessions/kill", handlers.DeleteOAuthSessions)
fortnite := r.Group("/fortnite/api")
fortnite.Use(handlers.MiddlewareOAuthVerify)
fortnite.Get("/receipts/v1/account/:accountId/receipts", handlers.GetFortniteReceipts)
fortnite.Get("/v2/versioncheck/*", handlers.GetFortniteVersion)
fortnite.Get("/calendar/v1/timeline", handlers.GetFortniteTimeline)
storefront := fortnite.Group("/storefront/v2")
storefront.Use(handlers.MiddlewareOAuthVerify)
storefront.Get("/catalog", handlers.GetStorefrontCatalog)
storefront.Get("/keychain", handlers.GetStorefrontKeychain)
@ -91,11 +93,13 @@ func main() {
storage.Put("/user/:accountId/:fileName", handlers.PutUserStorageFile)
game := fortnite.Group("/game/v2")
game.Use(handlers.MiddlewareOAuthVerify)
game.Get("/enabled_features", handlers.GetGameEnabledFeatures)
game.Post("/tryPlayOnPlatform/account/:accountId", handlers.PostGamePlatform)
game.Post("/grant_access/:accountId", handlers.PostGameAccess)
profile := game.Group("/profile/:accountId")
profile.Use(handlers.MiddlewareOAuthVerify)
profile.Post("/client/:action", handlers.PostProfileAction)
lightswitch := r.Group("/lightswitch/api")

View File

@ -47,8 +47,8 @@ user.CommonCoreProfile.Diff(snapshot)
## What's next?
- Authentication for the game to determine if the person is valid or not. Fortnite uses JWT tokens for this which makes it easy to implement.
- Every endpoint that is used by Fortnite. This includes all MCP Operations and even extracting data from the telemetry.
- Every endpoint that is used by Fortnite. This includes all MCP Operations, extracting data from the telemetry and even the Party Service (maybe party v2).
- Automatic storefront that uses previous data to generate a storefront. This would use item shops from history to make sure there are no blank spots in the storefront. Also battle pass tiers etc.
- Embed game assets into the backend e.g. Battle Pass, Quest Data etc. _This would mean a single binary that can be run anywhere without the need of external files._
- Interact with external Services like Amazon S3 Buckets to save player data externally.
- A way to interact with accounts outside of the game. This is mainly for a web app and other services to interact with the backend.
@ -56,6 +56,7 @@ user.CommonCoreProfile.Diff(snapshot)
## Known Supported Versions
- **_Chapter 1 Season 2_** `Fortnite+Release-2.5-CL-3889387-Windows` I started with this build of the game as it requires more work to get working, this means snow can support _most_ versions of the game.
- **_Chapter 1 Season 5_** `Fortnite+Release-5.41-CL-4363240-Windows` This build was used to make sure challenges, variants and lobby backgrounds work.
## How do I use this?