Quick Start Guide

Get up and running with RegardingWork Hub authentication in minutes

1. Authentication

Important: Hub authentication uses USERNAME for login, NOT email address. Email is only used for registration.

First, authenticate a user to get JWT tokens:

// Login to get JWT token
const response = await fetch('https://hub.regardingwork.com/api/auth/login', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    username: 'your_username',  // ← USERNAME (not email)
    password: 'your_password'
  })
});

const data = await response.json();
if (response.ok) {
  localStorage.setItem('hub_access_token', data.access_token);
  localStorage.setItem('hub_refresh_token', data.refresh_token);
  console.log('Login successful:', data.user);
}
Response includes: access_token, refresh_token, and user profile data

2. Making Authenticated Requests

Use the access token for subsequent API calls:

// Get current user data
const token = localStorage.getItem('hub_access_token');
const response = await fetch('https://hub.regardingwork.com/api/auth/me', {
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json'
  }
});

const userData = await response.json();
if (response.ok) {
  console.log('User data:', userData.user);
} else {
  console.error('Error:', userData.error);
}

3. Token Validation

Validate tokens from other RegardingWork services:

// Validate a token (server-side)
const validateToken = async (token) => {
  const response = await fetch('https://hub.regardingwork.com/api/auth/validate', {
    headers: {
      'Authorization': `Bearer ${token}`
    }
  });

  const result = await response.json();
  return result.valid && result.user;
};

// Usage
if (await validateToken(userToken)) {
  // Token is valid, user is authenticated
  console.log('User authenticated');
} else {
  // Token invalid, redirect to login
  window.location.href = '/login';
}

4. Implementing SSO (Optional)

For seamless user experience, implement Single Sign-On:

<!-- Add this button instead of manual login form -->
<a href="https://hub.regardingwork.com/api/auth/sso/authorize?redirect_uri=https://yourapp.com/auth/callback&service=yourapp"
   class="btn btn-primary btn-lg">
  <i class="fas fa-shield-alt me-2"></i>
  Login with RegardingWork Hub
</a>
Want full SSO implementation? View the complete SSO integration guide

Error Handling

Handle common error scenarios:

const handleApiResponse = async (response) => {
  const data = await response.json();

  if (!response.ok) {
    switch (response.status) {
      case 401:
        // Token expired or invalid
        await refreshToken();
        break;
      case 403:
        // User doesn't have permission
        showError('Access denied');
        break;
      case 429:
        // Rate limited
        showError('Too many requests, please try again later');
        break;
      default:
        showError(data.error || 'An error occurred');
    }
    return null;
  }

  return data;
};

Next Steps

Need Help?

Building something cool with our API? We'd love to hear about it!

Contact Support