Willkommen im Zuhause von ScribeJava, der einfachen OAuth-Client-Java-Bibliothek!
Warum ScribeJava verwenden?
Ganz einfach
Wer hat gesagt, dass OAuth/OAuth2 schwierig sei? Die Konfiguration von ScribeJava ist so einfach, dass auch Ihre Oma es tun kann ! Hör zu:
OAuthService service = new ServiceBuilder ( YOUR_CLIENT_ID )
. apiSecret ( YOUR_CLIENT_SECRET )
. build ( LinkedInApi20 . instance ());
Diese einzelne Zeile (zur besseren Lesbarkeit wurden neue Zeilen hinzugefügt) ist das Einzige, was Sie benötigen, um beispielsweise ScribeJava mit der OAuth-API von LinkedIn zu konfigurieren.
Beispiele für funktionierende ausführbare Dateien finden Sie hier. Allgemeine Verwendung: Beispiel
Threadsicher
Schlagen Sie ScribeJava so intensiv und mit vielen Threads an, wie Sie möchten.
Java 7-kompatibel
Das ist es. Sie können es in alten Umgebungen und in Android-Apps verwenden. Hinweis: Zum Kompilieren aus Quellen benötigen Sie Java 9 oder neuer
Async und andere HTTP-Clients
ScribeJava unterstützt standardmäßig mehrere HTTP-Clients:
- Beispiel für den asynchronen http-Client 1.9.x (Maven-Modul scribejava-httpclient-ning).
- Beispiel für den Async-HTTP-Client asynchttpclient 2.x (Maven-Modul scribejava-httpclient-ahc).
- Beispiel für OkHttp (Maven-Modul scribejava-httpclient-okhttp).
- Beispiel für Apache HttpComponents HttpClient (Maven-Modul scribejava-httpclient-apache).
- Beispiel für einen Armeria-HTTP-Client (erforderlich >= Java 8).
- jedes extern erstellte HTTP-Client-Beispiel
Fügen Sie einfach die entsprechenden Maven-Module zu Ihrem POM hinzu
Unterstützt viele Flows und zusätzliche Funktionen
- RFC 6749 Das OAuth 2.0 Authorization Framework, Authorization Code Authorization Grant, Beispiel
- RFC 6749 Das OAuth 2.0-Autorisierungsframework, Autorisierungsgewährung für Kennwortanmeldeinformationen des Ressourceneigentümers
- RFC 6749 Das OAuth 2.0 Authorization Framework, Client Credentials Authorization Grant, Beispiel
- RFC 6749 Das OAuth 2.0 Authorization Framework, Beispiel zum Aktualisieren eines Zugriffstokens
- RFC 6750 Das OAuth 2.0-Autorisierungsframework: Verwendung von Bearer-Token
- RFC 7636-Proof-Schlüssel für den Codeaustausch durch öffentliche OAuth-Clients (PKCE), Beispiel
- RFC 7009 OAuth 2.0 Token Revocation, Beispiel
- Beispiel für RFC 8628 OAuth 2.0 Device Authorization Grant
- RFC 5849 Das OAuth 1.0-Protokoll, Beispiel
Unterstützt alle (50+) wichtigen 1.0a- und 2.0-OAuth-APIs sofort einsatzbereit
- Asana-Beispiel (https://asana.com/).
- Automatisches (https://www.automatic.com/) Beispiel
- AWeber (http://www.aweber.com/) Beispiel
- Beispiel für Box (https://www.box.com/).
- Beispiel für Dataporten (https://docs.dataporten.no/).
- Digg-Beispiel (http://digg.com/).
- Beispiel für Discord (https://discordapp.com/).
- Arzt auf Anfrage (https://www.doktornarabote.ru/)
- Beispiel für Dropbox (https://www.dropbox.com/).
- Beispiel für Etsy (https://www.etsy.com/).
- Beispiel für Facebook (https://www.facebook.com/), Beispiel mit Async Apache HTTP-Client, Beispiel mit Async Ning HTTP-Client
- Fitbit-Beispiel (https://www.fitbit.com/).
- Flickr-Beispiel (https://www.flickr.com/).
- Foursquare (https://foursquare.com/) Beispiel, Beispiel
- Frappe-Beispiel (https://github.com/frappe/frappe).
- Beispiel für einen Freiberufler (https://www.freelancer.com/).
- Beispiel für Genius (http://genius.com/).
- GitHub (https://github.com/) Beispiel, Beispiel mit OkHttp HTTP-Client
- Google (https://www.google.com/) Beispiel, Beispiel mit Async Http Client, Beispiel Revoke, Beispiel mit PKCEE
- HeadHunter ХэдХантер (https://hh.ru/) Beispiel
- Beispiel für HiOrg-Server (https://www.hiorg-server.de/).
- Beispiel für Imgur (http://imgur.com/).
- Beispiel für Instagram (https://www.instagram.com/).
- Beispiel für Kaixin 开心网 (http://www.kaixin001.com/).
- Beispiel für Kakao (https://kakao.com/).
- Beispiel für Keycloak (https://www.keycloak.org/).
- LinkedIn (https://www.linkedin.com/) Beispiel, Beispiel, Beispiel mit benutzerdefinierten Bereichen
- Beispiel für Mail.Ru (https://mail.ru/), Beispiel mit Async Ning HTTP Client
- Beispiel für MediaWiki (https://www.mediawiki.org/).
- Meetup (https://www.meetup.com/) Beispiel, Beispiel
- Beispiel für Microsoft Azure Active Directory (Azure AD) (http://azure.microsoft.com/).
- Beispiel für Microsoft Azure Active Directory (Azure AD) 2.0 (http://azure.microsoft.com/).
- Beispiel für Microsoft Live (https://login.live.com/).
- Beispiel für Misfit (http://misfit.com/).
- NAVER (http://www.naver.com/) Beispiel
- Odnoklassniki Одноклассники (http://ok.ru/) Beispiel
- Polar (https://www.polar.com/) Beispiel
- Pinterest-Beispiel (https://www.pinterest.com/).
- 500px (https://500px.com/) Beispiel
- Renren (http://renren.com/) Beispiel
- Beispiel für Salesforce (https://www.salesforce.com/), Beispiel mit Async Ning HTTP Client
- Sina (http://www.sina.com.cn/ http://weibo.com/login.php) Beispiel, Beispiel
- Beispiel für Skyrock (http://skyrock.com/).
- Beispiel für Slack (https://slack.com/).
- Beispiel für StackExchange (http://stackexchange.com/).
- The Things Network (v1-Staging und v2-Vorschau) (https://www.thethingsnetwork.org/), Beispiel v1, Beispiel v2-Vorschau
- Beispiel für Trello (https://trello.com/).
- Beispiel für Tumblr (https://www.tumblr.com/).
- Beispiel für TUT.BY (http://www.tut.by/).
- Beispiel für Twitter (https://twitter.com/).
- uCoz (https://www.ucoz.com/) Beispiel
- Viadeo (http://viadeo.com/) Beispiel
- Beispiel für VK Contact (http://vk.com/), Beispiel für Client Credentials Grant, Beispiel mit externem HTTP-Client
- Beispiel für Wunderlist (https://www.wunderlist.com/).
- Beispiel für Xero (https://www.xero.com/).
- Beispiel XING (https://www.xing.com/).
- Yahoo (https://www.yahoo.com/) Beispiel, Beispiel
- Überprüfen Sie den Beispielordner
Klein und modular
Der Code von ScribeJava ist klein (ca. 1k LOC) und einfach zu verstehen. Hier gibt es keine schlauen oder „cleveren“ Hacker. Sie können nur Maven-Module „core“ oder „with apis“ verwenden
Android-fähig
Funktioniert sofort mit Android(TM)-Anwendungen.
Stabil & kugelsicher
Gute Testabdeckung, um Sie vor Schaden zu schützen.
Wenn tatsächlich etwas Schlimmes passiert, erfahren Sie anhand der aussagekräftigen Fehlermeldungen von ScribeJava genau, was wann und wo schief gelaufen ist.
Ziehen Sie es von Maven Central!
Sie können ScribeJava aus dem zentralen Maven-Repository abrufen. Fügen Sie diese einfach zu Ihrer pom.xml- Datei hinzu:
< dependency >
< groupId >com.github.scribejava</ groupId >
< artifactId >scribejava-apis</ artifactId >
< version >8.3.3</ version >
</ dependency >
Und falls Sie nur Kernklassen benötigen (das ist alles, ohne externen API-spezifischen Code (FB, VK, GitHub, Google usw.)), können Sie nur „Kern“-Artefakte abrufen.
< dependency >
< groupId >com.github.scribejava</ groupId >
< artifactId >scribejava-core</ artifactId >
< version >8.3.3</ version >
</ dependency >
Wie kann ich ScribeJava helfen?
Erstens sind Pull Requests willkommen, die zweite Möglichkeit sind Spenden.
Wann wird ScribeJava XXX unterstützen (neuer RFC, benutzerdefinierte Funktionalität, neue API usw.)
Wann Sie die Pull-Anfrage senden. Auf diese Weise werden hier die meisten Änderungen vorgenommen. Oder Sie können jemanden bitten, die bezahlte Arbeit für Sie zu erledigen. In manchen Fällen, wenn ich Interesse an Änderungen (technisch oder finanziell) habe, kann ich den Wunsch selbst umsetzen.
Bezahlte Beratung
Wenn Sie oder Ihr Unternehmen auf Scribejava angewiesen sind und eine bestimmte Verbesserung oder neue Funktion benötigen, die derzeit nicht in Scribejava implementiert ist, sollten Sie mich wegen einer bezahlten Stelle kontaktieren.
Der Einstieg erfolgt in weniger als 2 Minuten
Schauen Sie sich die Seite „Erste Schritte“ an und fangen Sie an zu rocken! Bitte lesen Sie die FAQ, bevor Sie ein Problem erstellen :)
Einige nützliche Informationen und Antworten finden Sie im Wiki
Denken Sie auch daran, das fantastische Tutorial zu lesen, das @akoskm geschrieben hat, um eine serverseitige App einfach in eine API (in diesem Fall Twitter) zu integrieren.
Fragen?
Schicken Sie uns gerne eine E-Mail oder erstellen Sie ein Problem direkt hier auf github.com
Gabeln
Wenn Sie einen nützlichen Fork haben, der dort aufgeführt werden sollte, kontaktieren Sie uns bitte