oauthApplications holds the OAuth clients that web knows. One document is one client. In Ayakaleaf Pro the only writer is the git-bridge web module, which creates one client named Overleaf Git Bridge when web starts. The schema is services/web/app/src/models/OauthApplication.mjs.
Fields
Who Writes It
Who Reads It
Indexes
Only the default _id index. The unique id_1 index comes from migrations tagged saas (20190912145016_create_oauthApplications_indexes.mjs) and server-pro (20230502180757_server_pro_oauth_indexes.mjs), which Community Edition does not run.
Notes
- Web uses
@node-oauth/oauth2-server only to check bearer tokens (server.authenticate in services/web/app/src/Features/Authentication/AuthenticationController.mjs:409-450), which calls the model’s getAccessToken and verifyScope only. No route serves /oauth/token or /oauth/authorize, so getClient, saveToken and saveAuthorizationCode are never called.
- The module looks the client up by name and then creates it, and Community Edition has no unique index on
name or id, so nothing stops a second client with the same name. Code that needs the client takes whichever one findOne returns.
Last modified on November 14, 2026