Back
🛠ïļ

Tinyburg for Developers

Let players bring their Tinyburg account to your app

Sign in with Tinyburg

Tinyburg is an OpenID Connect provider. Building a companion tool, a Discord bot dashboard, or anything else for the TinyTower community? Register an OAuth application and players can sign in to it with the same account they use to trade, no new passwords required.

🔐

Standard OIDC

Authorization code flow with PKCE and RS256-signed id tokens. Any OpenID Connect client library works out of the box.

ðŸŠķ

Minimal Scopes

Apps only see a player's identity and display name. Nothing else leaves Tinyburg.

ðŸĪ

Player Consent

Players approve exactly what your app can see on a consent screen before any tokens are issued.

Getting Started

1

Log In to Tinyburg

You need a Tinyburg account to register applications

2

Register Your Application

Give it a name and your redirect uris, then grab your client id and secret

3

Point Your OIDC Library at Us

Most libraries only need the discovery url below to configure themselves

4

Players Sign In

They approve your app once and arrive back at your redirect uri

Redirect uris must use https, except for localhost while you develop. Client secrets are shown once at registration and stored hashed, so keep yours somewhere safe.

Endpoints

Everything below is also published in the discovery document, so most setups only ever need the first url.

JWKS
https://tinyburg.app/oauth/tinyburg/jwks
Discovery
https://tinyburg.app/.well-known/openid-configuration
Authorization
https://tinyburg.app/oauth/tinyburg/authorize
Token
https://tinyburg.app/oauth/tinyburg/token

Scopes

openidConfirm your Tinyburg identity
profileSee your display name
tinytowerThe TinyTower accounts you have linked
tinytower:readSee your linked TinyTower accounts and their towers, without changing anything
tinytower:list_accountsSee which TinyTower accounts you have linked
tinytower:pull_saveDownload a tower's current save
tinytower:check_versionCheck the current version of a tower's save
tinytower:list_snapshotsList the cloud snapshots a tower has
tinytower:pull_snapshotDownload a specific cloud snapshot
tinytower:check_raffleCheck whether a tower has entered the current raffle
tinytower:player_detailsSee a linked account's registration details
tinytower:list_giftsSee the gifts waiting for a tower
tinytower:list_visitsSee who has visited a tower
tinytower:friend_metaLook up a friend's tower metadata
tinytower:friend_saveDownload a friend's tower
tinytower:friend_snapshotsList the cloud snapshots a friend's tower has
tinytower:writeChange your linked TinyTower accounts and their towers, including uploading saves
tinytower:link_accountLink a TinyTower account to your Tinyburg account
tinytower:unlink_accountUnlink a TinyTower account from your Tinyburg account
tinytower:push_saveUpload a save to a tower
tinytower:push_snapshotUpload a cloud snapshot
tinytower:enter_raffleEnter a tower into the raffle
tinytower:enter_multi_raffleEnter a tower into the next several raffles
tinytower:receive_giftAccept a gift on a tower's behalf
tinytower:send_itemSend bitizens and items to another player
tinytower:visitVisit another player's tower
tinytowerclassicThe TinyTower Classic accounts you have linked
tinytowerclassic:readSee your linked TinyTower Classic accounts and their towers, without changing anything
tinytowerclassic:list_accountsSee which TinyTower Classic accounts you have linked
tinytowerclassic:pull_saveDownload a tower's current save
tinytowerclassic:check_versionCheck the current version of a tower's save
tinytowerclassic:list_snapshotsList the cloud snapshots a tower has
tinytowerclassic:pull_snapshotDownload a specific cloud snapshot
tinytowerclassic:check_raffleCheck whether a tower has entered the current raffle
tinytowerclassic:player_detailsSee a linked account's registration details
tinytowerclassic:list_giftsSee the gifts waiting for a tower
tinytowerclassic:list_visitsSee who has visited a tower
tinytowerclassic:friend_metaLook up a friend's tower metadata
tinytowerclassic:friend_saveDownload a friend's tower
tinytowerclassic:friend_snapshotsList the cloud snapshots a friend's tower has
tinytowerclassic:writeChange your linked TinyTower Classic accounts and their towers, including uploading saves
tinytowerclassic:link_accountLink a TinyTower Classic account to your Tinyburg account
tinytowerclassic:unlink_accountUnlink a TinyTower Classic account from your Tinyburg account
tinytowerclassic:push_saveUpload a save to a tower
tinytowerclassic:push_snapshotUpload a cloud snapshot
tinytowerclassic:enter_raffleEnter a tower into the raffle
tinytowerclassic:enter_multi_raffleEnter a tower into the next several raffles
tinytowerclassic:receive_giftAccept a gift on a tower's behalf
tinytowerclassic:send_itemSend bitizens and items to another player
tinytowerclassic:visitVisit another player's tower
treasuryTrades escrowed by the Tinyburg treasury
treasury:readSee your trades and what could go into them, without changing anything
treasury:grant_statusCheck whether the treasury can act on your towers
treasury:list_tradesList your trades and the open offers you could accept
treasury:get_tradeSee one trade's full state and history
treasury:list_inventorySee which of a tower's items could be traded
treasury:writePropose, accept, cancel and confirm trades
treasury:proposePropose a trade with another player
treasury:acceptAccept a trade proposed to you
treasury:cancelCancel a trade you are part of
treasury:confirm_spliceConfirm a save-splice trade for execution

Ready to Build?

Register your first application and start signing players in. Questions or stuck on something? Ask in the Tinyburg Discord and we'll help you out.