Skip to content

Commit 1d86d9f

Browse files
Add OAuth2 parameters (#75)
Add QuickBooks Online OAuth2 configuration parameters to support the QBO integration for weekly financial reports.
1 parent cca7678 commit 1d86d9f

3 files changed

Lines changed: 28 additions & 2 deletions

File tree

.env.example

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@ OAUTH2_PROXY_REDIRECT_URL=https://your-domain/oauth2/callback
3636
# GitHub MCP Server configuration
3737
GITHUB_PERSONAL_ACCESS_TOKEN=github_access_token
3838

39+
# QuickBooks Online (QBO) Configuration
40+
QBO_API_URL=https://sandbox-accounts.platform.intuit.com/v1/openid_connect/userinfo
41+
QBO_CLIENT_ID=your_qbo_client_id
42+
QBO_CLIENT_SECRET=your_qbo_client_secret
43+
QBO_COMPANY_ID=your_qbo_company_id
44+
QBO_REFRESH_TOKEN=your_qbo_refresh_token
45+
QBO_TOKEN_ENDPOINT=https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer
46+
3947
# =============================
4048
# Production Environment
4149
# =============================

workers/main/.env.test

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,10 @@ SLACK_FIN_REPORT_CHANNEL_ID=C02URP5L3U5
1313

1414
QBO_API_URL=https://quickbooks.api.intuit.com/v3/company/111111111
1515
QBO_BEARER_TOKEN=test-token
16+
17+
# QuickBooks Online (QBO) Configuration
18+
QBO_CLIENT_ID=your_qbo_client_id
19+
QBO_CLIENT_SECRET=your_qbo_client_secret
20+
QBO_COMPANY_ID=your_qbo_company_id
21+
QBO_REFRESH_TOKEN=your_qbo_refresh_token
22+
QBO_TOKEN_ENDPOINT=https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer

workers/main/src/configs/qbo.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,20 @@ import { z } from 'zod';
33
export const qboConfig = {
44
apiUrl: process.env.QBO_API_URL,
55
bearerToken: process.env.QBO_BEARER_TOKEN,
6+
// OAuth2 configuration
7+
clientId: process.env.QBO_CLIENT_ID,
8+
clientSecret: process.env.QBO_CLIENT_SECRET,
9+
companyId: process.env.QBO_COMPANY_ID,
10+
refreshToken: process.env.QBO_REFRESH_TOKEN,
11+
tokenEndpoint:
12+
process.env.QBO_TOKEN_ENDPOINT ||
13+
'https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer',
614
};
715

816
export const qboSchema = z.object({
9-
QBO_API_URL: z.string().url(),
10-
QBO_BEARER_TOKEN: z.string(),
17+
QBO_API_URL: z.string().url().min(1, 'QBO_API_URL is required'),
18+
QBO_CLIENT_ID: z.string().min(1, 'QBO_CLIENT_ID is required'),
19+
QBO_CLIENT_SECRET: z.string().min(1, 'QBO_CLIENT_SECRET is required'),
20+
QBO_COMPANY_ID: z.string().min(1, 'QBO_COMPANY_ID is required'),
21+
QBO_REFRESH_TOKEN: z.string().optional(),
1122
});

0 commit comments

Comments
 (0)