# OpenID Connect Flows

**OpenID Connect** définit 3 flows :

### **Authorization Code Flow**

Il est identique à celui d’OAuth 2 mais on y ajoute quelques paramètres supplémentaires et l'**OpenID Provider** retourne un **`id_token`** qui est un token JWT.\
Cf. <http://openid.net/specs/openid-connect-basic-1_0.html#RequestParameters>

Dans ce flow, le token JWT est échangé directement entre l'**OpenID Provider** et le **Relying Party** sans passer par le **User-Agent**. La signature du token est simplement une sécurité supplémentaire au dessus de la sécurité du canal TLS.

### **Implicit Flow**

Il est également identique à celui d’OAuth 2 et fournit un **`id_token`**.

On retrouve les mêmes risques et inconvénients qu’avec OAuth 2 avec le risque supplémentaire lié au fait que l'**`id_token`** est un token JWT.

### **Hybrid Flow**

Ce flow permet de fusionner les deux flows précédents.

![OpenID Connect Flows Properties](/files/-LFM6o-_Izv7DaN2gMjX)


---

# 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/openid-connect/openid-connect-flows.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.
