Cloud Authentication
cloud-auth
Flow Nexus authentication and user management. Use for login, registration, session management, password reset, and user account operations.
SKILL.md
Full skill instructions
Cloud Authentication
Handle Flow Nexus user authentication, registration, session management, and account operations.
Quick Start
// Register a new user
await mcp__flow-nexus__user_register({
email: "[email protected]",
password: "secure_password",
full_name: "User Name"
});
// Login
const session = await mcp__flow-nexus__user_login({
email: "[email protected]",
password: "secure_password"
});
// Check auth status
const status = await mcp__flow-nexus__auth_status({ detailed: true });
// Logout
await mcp__flow-nexus__user_logout();
When to Use
- Registering new users on Flow Nexus platform
- Logging in existing users and managing sessions
- Resetting forgotten passwords
- Verifying email addresses
- Updating user profiles and account settings
- Upgrading user subscription tiers
- Troubleshooting authentication issues
Prerequisites
- MCP server
flow-nexusconfigured - Valid email address for registration
- Secure password meeting requirements
Core Concepts
Authentication Flow
Register → Verify Email → Login → Session Active → Logout
↑ ↓
Reset Password ←────── Forgot Password
User Tiers
| Tier | Credits | Features |
|---|---|---|
| Free | 100/month | Basic features, community support |
| Pro | 1000/month | Priority access, email support |
| Enterprise | Unlimited | Dedicated resources, SLA |
Session Management
- Sessions are token-based
- Auto-expiration after inactivity
- Secure logout clears session data
MCP Tools Reference
Authentication Status
// Check current auth status
mcp__flow-nexus__auth_status({
detailed: true // Include detailed auth info
})
// Returns: { authenticated, user_id, tier, session_expires }
// Initialize authentication mode
mcp__flow-nexus__auth_init({
mode: "user" // user or service
})
User Registration
mcp__flow-nexus__user_register({
email: "[email protected]",
password: "secure_password", // Minimum 8 characters
username: "username", // Optional
full_name: "Full Name" // Optional
})
// Returns: { user_id, email, verification_sent }
User Login/Logout
// Login
mcp__flow-nexus__user_login({
email: "[email protected]",
password: "password"
})
// Returns: { user_id, token, expires_at, tier }
// Logout
mcp__flow-nexus__user_logout()
// Returns: { success: true }
Profile Management
// Get profile
mcp__flow-nexus__user_profile({
user_id: "user_id"
})
// Returns: { id, email, full_name, tier, created_at }
// Update profile
mcp__flow-nexus__user_update_profile({
user_id: "user_id",
updates: {
full_name: "New Name",
bio: "Developer",
github_username: "username"
}
})
// Get user statistics
mcp__flow-nexus__user_stats({
user_id: "user_id"
})
// Returns: { apps_published, credits_earned, challenges_completed }
Password Management
// Request password reset
mcp__flow-nexus__user_reset_password({
email: "[email protected]"
})
// Returns: { email_sent: true }
// Update password with reset token
mcp__flow-nexus__user_update_password({
token: "reset_token",
new_password: "new_secure_password"
})
Email Verification
mcp__flow-nexus__user_verify_email({
token: "verification_token"
})
// Returns: { verified: true }
Tier Upgrade
mcp__flow-nexus__user_upgrade({
user_id: "user_id",
tier: "pro" // pro or enterprise
})
// Returns: { new_tier, effective_date }
Usage Examples
Example 1: Complete Registration Flow
// Step 1: Register user
const registration = await mcp__flow-nexus__user_register({
email: "[email protected]",
password: "SecurePass123!",
full_name: "New User"
});
console.log("Registration successful. Check email for verification link.");
// Step 2: User clicks verification link (token from email)
const verified = await mcp__flow-nexus__user_verify_email({
token: "verification_token_from_email"
});
if (verified.verified) {
console.log("Email verified! You can now login.");
}
// Step 3: Login
const session = await mcp__flow-nexus__user_login({
email: "[email protected]",
password: "SecurePass123!"
});
console.log(`Welcome! Your tier: ${session.tier}`);
console.log(`Session expires: ${session.expires_at}`);
Example 2: Password Reset Flow
// User forgot password
await mcp__flow-nexus__user_reset_password({
email: "[email protected]"
});
console.log("Password reset email sent.");
// User receives email with reset token
// User clicks link and provides new password
await mcp__flow-nexus__user_update_password({
token: "reset_token_from_email",
new_password: "NewSecurePass456!"
});
console.log("Password updated. Please login with new password.");
// Login with new password
const session = await mcp__flow-nexus__user_login({
email: "[email protected]",
password: "NewSecurePass456!"
});
Example 3: Profile Management
// Check current auth status
const status = await mcp__flow-nexus__auth_status({
detailed: true
});
if (!status.authenticated) {
console.log("Please login first.");
return;
}
// Get current profile
const profile = await mcp__flow-nexus__user_profile({
user_id: status.user_id
});
console.log(`Current name: ${profile.full_name}`);
console.log(`Tier: ${profile.tier}`);
// Update profile
await mcp__flow-nexus__user_update_profile({
user_id: status.user_id,
updates: {
full_name: "Updated Name",
bio: "Full-stack developer specializing in AI",
github_username: "myusername",
website: "https://mywebsite.com"
}
});
// Get user statistics
const stats = await mcp__flow-nexus__user_stats({
user_id: status.user_id
});
console.log(`
User Statistics:
- Apps Published: ${stats.apps_published}
- Credits Earned: ${stats.credits_earned}
- Challenges Completed: ${stats.challenges_completed}
`);
Example 4: Tier Upgrade
// Check current status
const status = await mcp__flow-nexus__auth_status({ detailed: true });
console.log(`Current tier: ${status.tier}`);
if (status.tier === "free") {
// Upgrade to Pro
const upgrade = await mcp__flow-nexus__user_upgrade({
user_id: status.user_id,
tier: "pro"
});
console.log(`Upgraded to: ${upgrade.new_tier}`);
console.log(`Effective: ${upgrade.effective_date}`);
console.log("You now have access to 1000 credits/month and priority features!");
}
Execution Checklist
For Registration
- Provide valid email address
- Create secure password (8+ characters)
- Complete registration
- Check email for verification
- Click verification link
- Login with credentials
For Password Reset
- Request password reset
- Check email for reset link
- Click reset link
- Enter new secure password
- Login with new password
Best Practices
- Strong Passwords: Use 8+ characters with mix of letters, numbers, symbols
- Email Verification: Always verify email before accessing features
- Session Security: Logout when done, especially on shared devices
- Profile Completeness: Fill out profile for better experience
- Regular Password Changes: Update password periodically
- Two-Factor Auth: Enable 2FA when available
Error Handling
| Error | Cause | Solution |
|---|---|---|
registration_failed | Invalid email or weak password | Verify email format, strengthen password |
login_failed | Wrong credentials or unverified email | Check credentials, verify email |
session_expired | Token expired | Login again |
email_not_verified | Account not verified | Check email for verification link |
password_reset_failed | Invalid or expired token | Request new reset link |
unauthorized | Not logged in | Login first |
Metrics & Success Criteria
- Login Success Rate: >99% for valid credentials
- Registration Completion: >90% complete verification
- Password Reset Success: >95% successful resets
- Session Duration: Average session length tracking
Integration Points
With User Tools
// After login, configure user settings
await mcp__flow-nexus__user_update_profile({
user_id: session.user_id,
updates: { preferences: { theme: "dark" } }
});
With Payments
// After login, check balance
const balance = await mcp__flow-nexus__check_balance();
console.log(`Available credits: ${balance.credits}`);
Related Skills
- cloud-user-tools - Profile and storage management
- cloud-payments - Credit and billing
Security Guidelines
- Never share passwords - Use password reset if needed
- Check URLs - Verify you're on official Flow Nexus site
- Report suspicious activity - Contact support immediately
- Secure email - Protect the email linked to your account
- Logout on public devices - Clear sessions on shared computers
References
Version History
- 1.0.0 (2026-01-02): Initial release - converted from flow-nexus-auth agent
