[feature] Refactor tokens, allow multiple app redirect_uris (#3849)

* [feature] Refactor tokens, allow multiple app redirect_uris

* move + tweak handlers a bit

* return error for unset oauth2.ClientStore funcs

* wrap UpdateToken with cache

* panic handling

* cheeky little time optimization

* unlock on error
This commit is contained in:
tobi
2025-03-03 16:03:36 +01:00
committed by GitHub
parent c80810eae8
commit 1b37944f8b
77 changed files with 963 additions and 594 deletions

View File

@@ -62,8 +62,7 @@ func (c *Caches) OnInvalidateAccount(account *gtsmodel.Account) {
}
func (c *Caches) OnInvalidateApplication(app *gtsmodel.Application) {
// Invalidate cached client of this application.
c.DB.Client.Invalidate("ID", app.ClientID)
// TODO: invalidate tokens?
}
func (c *Caches) OnInvalidateBlock(block *gtsmodel.Block) {
@@ -79,11 +78,6 @@ func (c *Caches) OnInvalidateBlock(block *gtsmodel.Block) {
c.DB.BlockIDs.Invalidate(block.AccountID)
}
func (c *Caches) OnInvalidateClient(client *gtsmodel.Client) {
// Invalidate any tokens under this client.
c.DB.Token.Invalidate("ClientID", client.ID)
}
func (c *Caches) OnInvalidateConversation(conversation *gtsmodel.Conversation) {
// Invalidate owning account's conversation list.
c.DB.ConversationLastStatusIDs.Invalidate(conversation.AccountID)