> ## Documentation Index
> Fetch the complete documentation index at: https://archie.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Editing services

> Configure built-in services like authentication, file storage, and roles.

System services are built-in capabilities your app uses — authentication, file storage, role management, email verification. This page covers how to edit them.

## What is available

Archie ships with these system services:

* **Authentication providers** — API key, AWS Cognito, Google OAuth, OAuth2, Apache Shiro
* **File storage** — Azure Blob Storage, Filestack, Google Cloud Storage
* **Roles** — fine-grained role definitions tied to user types
* **Email verification** — verify user emails on signup

The system services card on the blueprint shows which services are selected and their key configuration. {/* VERIFY: confirm full list of system services available at blueprint level */}

<img src="https://mintcdn.com/archie-e998dbf6/eiHdGPkQDkoCG39-/features/blueprint/core-services-section.png?fit=max&auto=format&n=eiHdGPkQDkoCG39-&q=85&s=f74c5ed25467d8e23b7cd386f30b6393" alt="Core services on the blueprint page" width="1899" height="303" data-path="features/blueprint/core-services-section.png" />

<img src="https://mintcdn.com/archie-e998dbf6/eiHdGPkQDkoCG39-/features/blueprint/core-services.png?fit=max&auto=format&n=eiHdGPkQDkoCG39-&q=85&s=b3790e8fb106a4933661a4cd4f273680" alt="Core services management panel" width="1180" height="1553" data-path="features/blueprint/core-services.png" />

## Choosing an authentication provider

Open the **System services** card and select an auth provider. Each provider has its own configuration:

* **API key** — header name and validation URL
* **AWS Cognito** — user pool ID, region, identity pool ID
* **Google OAuth** — client ID, redirect URI, hosted domain (optional), scopes
* **OAuth2** — authorization URL, token URL, user info URL, scopes
* **Apache Shiro** — realm class, authentication strategy, session timeouts

Pick the one that matches your existing identity infrastructure. If you do not have one, the default provider is the simplest path.

## Choosing a file storage provider

For apps that handle uploads, pick a storage backend:

* **Azure Blob Storage** — container name, account name, access key
* **Filestack** — bucket name and Filestack credentials
* **Google Cloud Storage** — bucket name, GCP project ID, service credentials JSON

Configuration happens after the build in [App settings → File storage](/features/backend/app-services/file-manager). The blueprint just sets the backend choice.

## Adding or removing services

Some services are required (authentication). Others (file storage, email verification) are optional. Toggle them on or off from the System services card.

## FAQ

<AccordionGroup>
  <Accordion title="Can I switch auth providers after the build?">
    Yes, but it is nontrivial — you will need to migrate existing user records. Choose the right provider during blueprint editing if you can.
  </Accordion>

  <Accordion title="Do I need credentials before building?">
    No. The blueprint just specifies which provider you will use. Add credentials in <a href="/features/backend/app-services/authentication-providers">App settings</a> after the build.
  </Accordion>

  <Accordion title="Can I bring my own auth?">
    Yes. The OAuth2 provider lets you integrate any standards-compliant identity provider.
  </Accordion>
</AccordionGroup>
