# OAuth 2 Risques & Recommandations

**TLS EVERYWHERE!** OAuth 2 n’oblige malheureusement pas l’utilisation du TLS pour les "Redirect URI" mais le recommande fortement.

L'**Authorization Server** doit **vérifier** que le **Client** possède bien le **nom de domaine** associé à la **Redirect URI**. *(E.g. : Vérification de la capacité du client à ajouter une entrée DNS TXT proposée aléatoirement par l'**Authorization Server**)*

L'**Authorization Server** devrait permettre aux **Client**s de **renouveler rapidement le Client Secret.**

L'**Authorization Server** devrait obliger les **Client**s à **renouveler régulièrement le Client Secret.**

* Le **Client Secret** est souvent stocké dans une variable d’environnement sur le serveur d’application.
* Une erreur de configuration suffit pour compromettre tout le système.
* L'**Authorization Server** peut permettre de modifier le **Redirect URI** simplement en présentant le **Client ID** et le **Client Secret**.

Les **Redirect URIs** sont des absolute URIs *(scheme, fqdn, port, path)* et ne doivent pas contenir de “fragment” *(#…)*.

L'**Authorization Server** doit vérifier les **Redirect URI**s avec une **égalité stricte**.\
E.g. : [`https://www.wishtack.com/oauth?source=test`](https://www.wishtack.com/oauth?source=test) est strictement différente de [`https://www.wishtack.com/oauth`](https://www.wishtack.com/oauth).


---

# 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-risques-et-recommandations.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.
