# OAuth 2 Roles

OAuth 2 définit 4 rôles.

### Resource Owner

Une entité disposant de la légitimité et du pouvoir décisionnel lui permettant d’autoriser l’accès à une ou plusieurs ressources protégées.

*E.g.: L’utilisateur des services google qui souhaite autoriser une application d'agrégation d'agendas à accéder à son agenda.*

### Resource Server

Ce service détient les ressources protégées. Il est capable de répondre aux requêtes d’accès à ces ressources en fonction des *access tokens* présentés.

*E.g. : Google Calendar.*

### Client

Une application émettant des requêtes à destination du **Resource Server** au nom du **Resource Owner** et avec son autorisation.\
Le **Client** peut être entièrement frontend *(Web / Progressive Web App / Mobile Web App / Desktop etc…)* ou backend *(Serveur / Minitel etc…)*.

*E.g. : L’application d’agrégation d’agendas.*

Nous distinguerons deux types de **Clients**

#### Confidential

Capable de garder un secret.\
\
\&#xNAN;*E.g. : Backend*

#### Public

Incapable de garder un secret.

*E.g. : Frontend, Single Page App, Progressive Web App, Mobile, Desktop, Appliance…*

### **Authorization Server**

Un serveur qui fournit des *access tokens* après authentification du **Resource Owner** et obtention des autorisations.

*E.g. : Service d’authentification et d’autorisation google. Google accounts.*


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://guide-api-rest.marmicode.fr/securite-des-apis-rest/oauth-2/oauth-2-roles.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
