fix(token-refresh): microsoft, notion, x, linear#2933
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile SummaryFixes token refresh issues for Microsoft, Notion, X, and Linear OAuth providers by implementing proactive refresh for Microsoft's 90-day expiry and enabling refresh token rotation for providers that support it.
The proactive refresh mechanism checks if a Microsoft refresh token will expire within 7 days and triggers a refresh early to maintain continuous access. The rotation flag ensures that when providers issue new refresh tokens during the refresh flow, they are properly captured and stored. Confidence Score: 4/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Client
participant Utils as OAuth Utils
participant OAuth as OAuth Service
participant DB as Database
participant Provider as OAuth Provider
Note over Client,Provider: Token Refresh Flow
Client->>Utils: Request credential access
Utils->>Utils: Check if access token expired
alt Microsoft Provider
Utils->>Utils: Check if refresh expires within 7 days
end
alt Token needs refresh
Utils->>OAuth: Call refreshOAuthToken
OAuth->>Provider: Send refresh request
Provider-->>OAuth: Return new credentials
alt Supports rotation
OAuth->>OAuth: Extract new refresh value
end
OAuth-->>Utils: Return refreshed credentials
alt Microsoft Provider
Utils->>Utils: Set refresh expiry to 90 days
end
Utils->>DB: Update account with new values
Utils-->>Client: Return valid credential
else Token valid
Utils-->>Client: Return existing credential
end
|
There was a problem hiding this comment.
Additional Comments (1)
-
apps/sim/lib/oauth/oauth.ts, line 890-903 (link)logic: Missing
microsoft-excel,microsoft-planner, andmicrosoft-teamscases
3 files reviewed, 1 comment
|
@cursor review |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
* fix(zustand): updated to useShallow from deprecated createWithEqualityFn (#2919) * fix(logger): use direct env access for webpack inlining (#2920) * fix(notifications): text overflow with line-clamp (#2921) * chore(helm): add env vars for Vertex AI, orgs, and telemetry (#2922) * fix(auth): improve reset password flow and consolidate brand detection (#2924) * fix(auth): improve reset password flow and consolidate brand detection * fix(auth): set errorHandled for EMAIL_NOT_VERIFIED to prevent duplicate error * fix(auth): clear success message on login errors * chore(auth): fix import order per lint * fix(action-bar): duplicate subflows with children (#2923) * fix(action-bar): duplicate subflows with children * fix(action-bar): add validateTriggerPaste for subflow duplicate * fix(resolver): agent response format, input formats, root level (#2925) * fix(resolvers): agent response format, input formats, root level * fix response block initial seeding * fix tests * fix(messages-input): fix cursor alignment and auto-resize with overlay (#2926) * fix(messages-input): fix cursor alignment and auto-resize with overlay * fixed remaining zustand warnings * fix(stores): remove dead code causing log spam on startup (#2927) * fix(stores): remove dead code causing log spam on startup * fix(stores): replace custom tools zustand store with react query cache * improvement(ui): use BrandedButton and BrandedLink components (#2930) - Refactor auth forms to use BrandedButton component - Add BrandedLink component for changelog page - Reduce code duplication in login, signup, reset-password forms - Update star count default value * fix(custom-tools): remove unsafe title fallback in getCustomTool (#2929) * fix(custom-tools): remove unsafe title fallback in getCustomTool * fix(custom-tools): restore title fallback in getCustomTool lookup Custom tools are referenced by title (custom_${title}), not database ID. The title fallback is required for client-side tool resolution to work. * fix(null-bodies): empty bodies handling (#2931) * fix(null-statuses): empty bodies handling * address bugbot comment * fix(token-refresh): microsoft, notion, x, linear (#2933) * fix(microsoft): proactive refresh needed * fix(x): missing token refresh flag * notion and linear missing flag too * address bugbot comment * fix(auth): handle EMAIL_NOT_VERIFIED in onError callback (#2932) * fix(auth): handle EMAIL_NOT_VERIFIED in onError callback * refactor(auth): extract redirectToVerify helper to reduce duplication * fix(workflow-selector): use dedicated selector for workflow dropdown (#2934) * feat(workflow-block): preview (#2935) * improvement(copilot): tool configs to show nested props (#2936) * fix(auth): add genericOAuth providers to trustedProviders (#2937) --------- Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com> Co-authored-by: Emir Karabeg <78010029+emir-karabeg@users.noreply.github.com>
Summary
Type of Change
Testing
Tested manually
Checklist