fix(profil): photo CDN avec Bearer OAuth et doc soutenance

Charge les avatars depuis cdn.intra.42.fr avec le même access token,
parse image.versions, et documente le flux pour la correction.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-21 10:38:16 +02:00
parent 1ce33a69d1
commit a6ab13ee2f
6 changed files with 374 additions and 199 deletions

View File

@@ -125,6 +125,16 @@ class IntraAuthService {
};
}
/// En-têtes pour télécharger la photo sur `cdn.intra.42.fr`.
///
/// L’URL vient du JSON user (`image.link` / `versions`). Le CDN refuse souvent
/// les requêtes sans Bearer (403). On réutilise le **même** access token que pour
/// l’API — pas un second OAuth. On n’envoie pas `Accept: application/json` ici.
Map<String, String> cdnImageHeaders() {
if (!isAuthenticated) return const {};
return {'Authorization': 'Bearer $_accessToken'};
}
Future<Map<String, dynamic>> fetchMe() async {
final response = await intraApiGet(
Uri.parse('${IntraConfig.apiBaseUrl}/me'),