Academy / Week 2 / SyncApp Authentication Service / sync-app-authentication vs sync-app-oauth

sync-app-authentication vs sync-app-oauth

Lesson 9.1 ⏱ ~4 min Week 2

💡 Why This Matters

These two services have confusingly similar names but completely different responsibilities. Getting this distinction clear on day one saves significant confusion later.

🎯 What You'll Learn

  • sync-app-authentication: handles data source tasks — creation, deletion, update of data sources (SyncApp credentials)
  • sync-app-oauth: authenticates the PMS itself using OAuth tokens for PMSs that require it
  • The key distinction: authentication = manage Weave-side credentials; OAuth = authenticate against the PMS
  • When sync-app-oauth is used: only for PMS integrations that don't use basic credential validation in the SyncApp itself
  • How both services fit into the overall provisioning and sync flow

Watch Video

Open in Google Drive 💡 Open in Drive for AI-powered transcript search and summaries

📋 Lesson Summary

Two similarly-named services serve very different purposes. sync-app-authentication manages data source lifecycle — it creates, deletes, and validates the SyncApp's own credentials (username/password/legacy ID). sync-app-oauth handles PMS-side OAuth authentication — getting and storing OAuth tokens for PMSs that use OAuth instead of API keys or basic credentials. When a PMS uses OAuth, the SyncApp doesn't authenticate credentials in its own code; instead, sync-app-oauth gets the token and stores it in settings for the SyncApp to use.

🏷 Key Concepts

sync-app-authenticationsync-app-oauthData Source TasksPMS OAuth AuthenticationCredential TypesService Responsibilities

Key Takeaways

01Authentication = Weave-side credentials (data sources). OAuth = PMS-side credentials (OAuth tokens)
02Most PMSs use API keys or basic auth — they only need sync-app-authentication
03OAuth-based PMSs (like QuickBooks Online, NextGen) need both services
04sync-app-oauth only runs once per office — to get the initial token. Refreshes are handled by the Go OAuth2 library in SyncApp