From hootsuite-pack
Applies Hootsuite security best practices for OAuth tokens, secrets storage, refresh logic, and access control checklists. Use when securing API keys or auditing configurations.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin hootsuite-packThis skill is limited to using the following tools:
| Credential | Scope | Rotation |
Configures Hootsuite OAuth 2.0 for REST API with app registration, .env setup, and TypeScript code for authorization flow, token exchange, and refresh.
Applies HubSpot security best practices: least-privilege scopes, private app token storage/validation, and v3 webhook signature verification with HMAC SHA-256.
Secures Intercom integrations with token storage best practices, HMAC-SHA1 webhook verification in Node.js/Express, identity hashes, and minimal OAuth scopes.
Share bugs, ideas, or general feedback.
| Credential | Scope | Rotation |
|---|---|---|
| Client ID | App-level | Never (app identifier) |
| Client Secret | App-level | Rotate if compromised |
| Access Token | User session | Auto-expires (~1 hour) |
| Refresh Token | User session | Rotate on each refresh |
# .env (never commit)
HOOTSUITE_CLIENT_ID=app_client_id
HOOTSUITE_CLIENT_SECRET=app_secret
HOOTSUITE_ACCESS_TOKEN=current_token
HOOTSUITE_REFRESH_TOKEN=refresh_token
// Always use HTTPS for token exchange
// Store refresh tokens encrypted at rest
// Rotate refresh tokens on each use (Hootsuite returns new ones)
async function secureRefresh(refreshToken: string) {
const res = await fetch('https://platform.hootsuite.com/oauth2/token', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': `Basic ${Buffer.from(`${process.env.HOOTSUITE_CLIENT_ID}:${process.env.HOOTSUITE_CLIENT_SECRET}`).toString('base64')}`,
},
body: new URLSearchParams({ grant_type: 'refresh_token', refresh_token: refreshToken }),
});
const tokens = await res.json();
// Store new refresh_token, discard old one
return tokens;
}
HOOTSUITE_ credential leaksFor production, see hootsuite-prod-checklist.