Bienvenue dans la maison de ScribeJava, la simple bibliothèque Java du client OAuth !
Pourquoi utiliser ScribeJava ?
Mort simple
Qui a dit qu’OAuth/OAuth2 était difficile ? Configurer ScribeJava est si simple que votre grand-mère peut le faire ! Vérifiez-le:
OAuthService service = new ServiceBuilder ( YOUR_CLIENT_ID )
. apiSecret ( YOUR_CLIENT_SECRET )
. build ( LinkedInApi20 . instance ());
Cette seule ligne (ajout de nouvelles lignes pour plus de lisibilité) est la seule chose dont vous avez besoin pour configurer ScribeJava avec l'API OAuth de LinkedIn par exemple.
Des exemples d'exécutables fonctionnels sont ici Usage courant : exemple
Fil sécurisé
Appuyez sur ScribeJava aussi fort et avec autant de discussions que vous le souhaitez.
Compatible Java 7
C'est ça. Vous pouvez l'utiliser dans d'anciens environnements et dans des applications Android. Remarque : Pour compiler à partir des sources, vous aurez besoin de Java 9 ou d'une version plus récente.
Async et autres clients HTTP
ScribeJava prend en charge plusieurs clients HTTP prêts à l'emploi :
- Exemple de client http asynchrone 1.9.x (module maven scribejava-httpclient-ning)
- Exemple de client HTTP async asynchttpclient 2.x (module maven scribejava-httpclient-ahc)
- Exemple OkHttp (module maven scribejava-httpclient-okhttp)
- Exemple Apache HttpComponents HttpClient (module maven scribejava-httpclient-apache)
- Exemple de client HTTP Armeria (obligatoire >= java 8)
- tout exemple de client HTTP créé en externe
ajoutez simplement les modules maven correspondants à votre pom
Prend en charge de nombreux flux et fonctionnalités supplémentaires
- RFC 6749 Cadre d'autorisation OAuth 2.0, octroi d'autorisation de code d'autorisation, exemple
- RFC 6749 Cadre d'autorisation OAuth 2.0, octroi d'autorisation pour les informations d'identification du mot de passe du propriétaire de la ressource
- RFC 6749 Cadre d'autorisation OAuth 2.0, octroi d'autorisation d'informations d'identification client, exemple
- RFC 6749 Le cadre d'autorisation OAuth 2.0, actualisation d'un jeton d'accès, exemple
- RFC 6750 Le cadre d'autorisation OAuth 2.0 : utilisation du jeton du porteur
- Clé de preuve RFC 7636 pour l'échange de code par les clients publics OAuth (PKCE), exemple
- Révocation de jeton RFC 7009 OAuth 2.0, exemple
- Exemple d'octroi d'autorisation de périphérique RFC 8628 OAuth 2.0
- RFC 5849 Le protocole OAuth 1.0, exemple
Prend en charge toutes les (50) principales API OAuth 1.0a et 2.0 prêtes à l'emploi
- Exemple Asana (https://asana.com/)
- Exemple automatique (https://www.automatic.com/)
- Exemple d'AWeber (http://www.aweber.com/)
- Exemple de boîte (https://www.box.com/)
- Exemple Dataporten (https://docs.dataporten.no/)
- Exemple de Digg (http://digg.com/)
- Exemple de Discord (https://discordapp.com/)
- Médecin pour le travail (https://www.doktornarabote.ru/)
- Exemple de Dropbox (https://www.dropbox.com/)
- Exemple Etsy (https://www.etsy.com/)
- Exemple Facebook (https://www.facebook.com/), exemple avec le client HTTP Async Apache, exemple avec le client HTTP Async Ning
- Exemple Fitbit (https://www.fitbit.com/)
- Exemple Flickr (https://www.flickr.com/)
- Exemple Foursquare (https://foursquare.com/), exemple
- Exemple de Frappe (https://github.com/frappe/frappe)
- Exemple de Freelancer (https://www.freelancer.com/)
- Exemple de Genius (http://genius.com/)
- Exemple GitHub (https://github.com/), exemple avec le client HTTP OkHttp
- Exemple Google (https://www.google.com/), exemple avec Async Http Client, exemple Revoke, exemple avec PKCEE
- Exemple de HeadHunter Hunter (https://hh.ru/)
- Exemple HiOrg-Server (https://www.hiorg-server.de/)
- Exemple Imgur (http://imgur.com/)
- Exemple Instagram (https://www.instagram.com/)
- Exemple de Kaixin 开心网 (http://www.kaixin001.com/)
- Exemple de Kakao (https://kakao.com/)
- Exemple de Keycloak (https://www.keycloak.org/)
- Exemple LinkedIn (https://www.linkedin.com/), exemple, exemple avec des étendues personnalisées
- Exemple Mail.Ru (https://mail.ru/), exemple avec le client HTTP Async Ning
- Exemple MediaWiki (https://www.mediawiki.org/)
- Exemple Meetup (https://www.meetup.com/), exemple
- Exemple Microsoft Azure Active Directory (Azure AD) (http://azure.microsoft.com/)
- Exemple Microsoft Azure Active Directory (Azure AD) 2.0 (http://azure.microsoft.com/)
- Exemple Microsoft Live (https://login.live.com/)
- Exemple de Misfit (http://misfit.com/)
- Exemple NAVER (http://www.naver.com/)
- Exemple d'Odnoklassniki Одноклассники (http://ok.ru/)
- Exemple Polar (https://www.polar.com/)
- Exemple Pinterest (https://www.pinterest.com/)
- Exemple de 500 px (https://500px.com/)
- Exemple de Renren (http://renren.com/)
- Exemple Salesforce (https://www.salesforce.com/), exemple avec client HTTP Async Ning
- Sina (http://www.sina.com.cn/ http://weibo.com/login.php) exemple, exemple
- Exemple de Skyrock (http://skyrock.com/)
- Exemple de Slack (https://slack.com/)
- Exemple de StackExchange (http://stackexchange.com/)
- The Things Network (v1-staging et v2-preview) (https://www.thethingsnetwork.org/) exemple v1, exemple d'aperçu v2
- Exemple Trello (https://trello.com/)
- Exemple Tumblr (https://www.tumblr.com/)
- Exemple TUT.BY (http://www.tut.by/)
- Exemple Twitter (https://twitter.com/)
- Exemple uCoz (https://www.ucoz.com/)
- Exemple Viadeo (http://viadeo.com/)
- Exemple VK ВКонтакте (http://vk.com/), exemple d'octroi d'informations d'identification client, exemple avec un client HTTP externe
- Exemple de Wunderlist (https://www.wunderlist.com/)
- Exemple Xero (https://www.xero.com/)
- Exemple XING (https://www.xing.com/)
- Exemple Yahoo (https://www.yahoo.com/), exemple
- vérifiez le dossier des exemples
Petit et modulaire
Le code de ScribeJava est petit (environ 1 000 LOC) et simple à comprendre. Pas de hacks malins ou "intelligents" ici. Vous pouvez utiliser uniquement les modules Maven « de base » ou « avec apis »
Prêt pour Android
Fonctionne immédiatement avec les applications Android(TM).
Stable et pare-balles
Bonne couverture de test pour vous protéger des dommages.
Lorsque quelque chose de grave se produit, les messages d'erreur significatifs de ScribeJava vous diront exactement ce qui n'a pas fonctionné, quand et où.
Extrayez-le de Maven Central !
Vous pouvez extraire ScribeJava du référentiel central Maven, ajoutez-les simplement à votre fichier pom.xml :
< dependency >
< groupId >com.github.scribejava</ groupId >
< artifactId >scribejava-apis</ artifactId >
< version >8.3.3</ version >
</ dependency >
Et si vous n'avez besoin que de classes de base (c'est tout, sans aucun code spécifique à l'API externe (FB, VK, GitHub, Google, etc.), vous pouvez extraire uniquement l'artefact « de base ».
< dependency >
< groupId >com.github.scribejava</ groupId >
< artifactId >scribejava-core</ artifactId >
< version >8.3.3</ version >
</ dependency >
Comment puis-je aider ScribeJava
Tout d’abord, les Pull Requests sont les bienvenues, la deuxième option concerne les dons.
Quand ScribeJava prendra-t-il en charge XXX (nouvelle RFC, fonctionnalité personnalisée, nouvelle API, etc.)
Quand vous enverrez la pull request. C'est ainsi que se déroule la majorité des changements ici. Ou vous pouvez demander à quelqu’un de faire le travail rémunéré à votre place. Dans certains cas, lorsque je suis intéressé par des changements (techniques ou financiers), je peux mettre en œuvre la demande moi-même.
Consultation payante
Si vous ou votre entreprise dépendez de Scribejava et que vous avez besoin d'une amélioration spécifique ou d'une nouvelle fonctionnalité non actuellement implémentée dans Scribejava, envisagez de me contacter pour un emploi rémunéré.
Commencer en moins de 2 minutes
Consultez la page de démarrage et commencez à bouger ! Veuillez lire la FAQ avant de créer un problème :)
Quelques informations utiles et réponses que vous pouvez trouver sur le wiki
N'oubliez pas non plus de lire le fantastique tutoriel écrit par @akoskm pour intégrer facilement une application côté serveur avec une API (twitter dans ce cas).
Des questions ?
N'hésitez pas à nous envoyer un e-mail ou à créer un problème ici sur github.com
Fourchettes
Si vous avez un fork utile qui devrait y être répertorié, veuillez nous contacter