ScribeJava est une bibliothèque client OAuth légère, thread-safe et modulaire. Elle est conçue pour les développeurs qui exigent un contrôle total, une sécurité maximale et zéro dépendance inutile.
ScribeJava est le choix idéal pour les projets qui refusent l’opacité des frameworks “tout-en-un”.
| Caractéristique | ScribeJava v9 | Spring Security / Pac4j |
|---|---|---|
| Poids (Core) | < 1 Mo | > 50 Mo (avec dépendances) |
| Dépendances | Zéro (JDK natif) | Énorme graphe de transitivité |
| Courbe d’apprentissage | Minutes | Jours / Semaines |
| Contrôle du flux | Total | Abstraction rigide |
| Android Ready | Oui (Natif) | Difficile / Incompatible |
ScribeJava est conçu comme un écosystème de composants indépendants :
graph TD
subgraph Core
C[scribejava-core]
end
subgraph Extensions
C --> O[scribejava-oidc]
C --> A[scribejava-apis]
end
subgraph Transport
C --> H1[scribejava-httpclient-okhttp]
C --> H2[scribejava-httpclient-armeria]
end
// 1. Initialisation
OAuth20Service service = new ServiceBuilder(clientId)
.apiSecret(clientSecret)
.build(GitHubApi.instance());
// 2. Récupération du Token (Strategy)
OAuth2AccessToken token = service.getAccessToken(new AuthorizationCodeGrant(code));
// 3. Appel API autorisé
OAuthRequest request = new OAuthRequest(Verb.GET, "https://api.github.com/user");
service.signRequest(token, request);
try (Response response = service.execute(request)) {
System.out.println("Corps : " + response.getBody());
}
ScribeJava est distribué via GitHub Releases.
💡 Note : Remplacez 9.0.0 par la version actuelle dans les exemples ci-dessous.
Installez le JAR téléchargé localement :
mvn install:install-file -Dfile=scribejava-core-9.0.0.jar -DgroupId=com.github.scribejava -DartifactId=scribejava-core -Dversion=9.0.0 -Dpackaging=jar
Puis ajoutez la dépendance :
<dependency>
<groupId>com.github.scribejava</groupId>
<artifactId>scribejava-core</artifactId>
<version>9.0.0</version>
</dependency>
🛠️ Un problème lors de l’installation ou du build ? Consultez le Guide de Dépannage.
dependencies {
implementation files('libs/scribejava-core-9.0.0.jar')
}
| 📖 Modules : Core | OIDC | Catalogue APIs |
Nous maintenons une couverture Javadoc de 100%.
make doc (puis ouvrez target/site/apidocs/index.html).⭐ Soutenez-nous ! Mettez une étoile sur le projet pour nous aider à grandir.