# For Affiliates

If you understand the authentication flow for clients, this will be straightforward because it’s essentially identical.

It's like setting up a free account for a client (as described in Scenario 1) but with a different role, "AFFILIATE," which is passed from the sign-up page to the backend.

**Process**:

1. **Sign-Up**: On the sign-up page, select the option to sign up as an affiliate.
2. **Backend Handling**:

   * When the account creation request is sent to the backend, the role `AFFILIATE` is assigned during the `setupUserAccount()` function.

   ```jsx
   await prisma.user.update({
       where: { id: userId },
       data: {
           roles: {
               set: ["AFFILIATE"],
           },
       },
   });

   handleAfterSignupTasks({
       email,
       name,
       userId,
       isAffiliate,
   });
   ```

For further queries or assistance, refer to the code comments or contact our support team.
