歡迎來到 ScribeJava 之家,這是一個簡單的 OAuth 用戶端 Java 函式庫!
為什麼要使用 ScribeJava?
非常簡單
誰說 OAuth/OAuth2 很難?配置 ScribeJava非常簡單,您的奶奶也能做到!一探究竟:
OAuthService service = new ServiceBuilder ( YOUR_CLIENT_ID )
. apiSecret ( YOUR_CLIENT_SECRET )
. build ( LinkedInApi20 . instance ());
例如,使用 LinkedIn 的 OAuth API 設定 ScribeJava 時,只需這一行(新增換行符號以提高可讀性)。
工作可執行範例在這裡常見用法:範例
線程安全
盡可能使用 ScribeJava,並使用多個執行緒。
Java 7 相容
就是這樣。您可以在舊環境和 Android 應用程式中使用它。注意:要從原始程式碼編譯,您需要 Java 9 或更高版本
非同步和其他 HTTP 用戶端
ScribeJava 支援開箱即用的多個 HTTP 用戶端:
- ning async http client 1.9.x (maven 模組 scribejava-httpclient-ning) 範例
- 非同步 Http 客戶端 asynchttpclient 2.x(maven 模組 scribejava-httpclient-ahc)範例
- OkHttp(maven 模組 scribejava-httpclient-okhttp)範例
- Apache HttpComponents HttpClient(maven 模組 scribejava-httpclient-apache)範例
- Armeria HTTP 用戶端(需求 >= java 8)範例
- 任何外部建立的 HTTP 用戶端範例
只需將對應的maven模組新增到您的pom中
支援許多流程和附加功能
- RFC 6749 OAuth 2.0 授權框架,授權程式碼授權授予,範例
- RFC 6749 OAuth 2.0 授權框架,資源擁有者密碼憑證授權授予
- RFC 6749 OAuth 2.0 授權框架,客戶端憑證授權授予,範例
- RFC 6749 OAuth 2.0 授權框架,刷新存取令牌,範例
- RFC 6750 OAuth 2.0 授權框架:承載令牌使用
- RFC 7636 OAuth 公共客戶端程式碼交換的證明金鑰 (PKCE),範例
- RFC 7009 OAuth 2.0 令牌撤銷,範例
- RFC 8628 OAuth 2.0 設備授權範例
- RFC 5849 OAuth 1.0 協議,範例
開箱即用地支援所有(50+)主要 1.0a 和 2.0 OAuth API
- 體式 (https://asana.com/) 範例
- 自動 (https://www.automatic.com/) 範例
- AWeber (http://www.aweber.com/) 範例
- Box (https://www.box.com/) 範例
- Dataporten (https://docs.dataporten.no/) 範例
- Digg (http://digg.com/) 範例
- Discord (https://discordapp.com/) 範例
- Доктор на работе (https://www.doktornarabote.ru/)
- Dropbox (https://www.dropbox.com/) 範例
- Etsy (https://www.etsy.com/) 範例
- Facebook (https://www.facebook.com/) 範例、非同步 Apache HTTP 用戶端範例、非同步 Ning HTTP 用戶端範例
- Fitbit (https://www.fitbit.com/) 範例
- Flickr (https://www.flickr.com/) 範例
- Foursquare (https://foursquare.com/) 範例,範例
- 冰沙 (https://github.com/frappe/frappe) 範例
- 自由工作者 (https://www.freelancer.com/) 範例
- 天才 (http://genius.com/) 範例
- GitHub (https://github.com/) 範例,使用 OkHttp HTTP 用戶端的範例
- Google (https://www.google.com/) 範例、非同步 Http 用戶端範例、撤銷範例、PKCEE 範例
- HeadHunter ХэдХантер (https://hh.ru/) 範例
- HiOrg-Server (https://www.hiorg-server.de/) 範例
- Imgur (http://imgur.com/) 範例
- Instagram (https://www.instagram.com/) 範例
- 開心網(http://www.kaixin001.com/)範例
- Kakao (https://kakao.com/) 範例
- Keycloak (https://www.keycloak.org/) 範例
- LinkedIn (https://www.linkedin.com/) 範例、範例、具有自訂範圍的範例
- Mail.Ru (https://mail.ru/) 範例,使用 Async Ning HTTP 用戶端的範例
- MediaWiki (https://www.mediawiki.org/) 範例
- 聚會 (https://www.meetup.com/) 範例、範例
- Microsoft Azure Active Directory (Azure AD) (http://azure.microsoft.com/) 範例
- Microsoft Azure Active Directory (Azure AD) 2.0 (http://azure.microsoft.com/) 範例
- Microsoft Live (https://login.live.com/) 範例
- Misfit (http://misfit.com/) 範例
- NAVER (http://www.naver.com/) 範例
- Odnoklassniki Одноклассники (http://ok.ru/) 例
- Polar (https://www.polar.com/) 範例
- Pinterest (https://www.pinterest.com/) 範例
- 500px (https://500px.com/) 範例
- 人人網(http://renren.com/)範例
- Salesforce (https://www.salesforce.com/) 範例,使用 Async Ning HTTP 用戶端的範例
- 新浪(http://www.sina.com.cn/http://weibo.com/login.php)範例,範例
- Skyrock (http://skyrock.com/) 範例
- Slack (https://slack.com/) 範例
- StackExchange (http://stackexchange.com/) 範例
- 物聯網(v1-staging 和 v2-preview)(https://www.thethingsnetwork.org/) 範例 v1、範例 v2 預覽
- Trello (https://trello.com/) 範例
- Tumblr (https://www.tumblr.com/) 範例
- TUT.BY (http://www.tut.by/) 範例
- 推特 (https://twitter.com/) 範例
- uCoz (https://www.ucoz.com/) 範例
- Viadeo (http://viadeo.com/) 範例
- VK ВКонтакте (http://vk.com/) 範例、用戶端憑證授予範例、外部 HTTP 用戶端範例
- 奇妙清單 (https://www.wunderlist.com/) 範例
- Xero (https://www.xero.com/) 範例
- XING (https://www.xing.com/) 範例
- 雅虎 (https://www.yahoo.com/) 範例,範例
- 檢查範例資料夾
小型、模組化
ScribeJava 的程式碼很小(大約 1k LOC)且簡單易懂。這裡沒有自作聰明或「聰明」的駭客。您只能使用“core”或“with apis”maven 模組
Android 就緒
與 android(TM) 應用程式一起使用,開箱即用。
穩定防彈
良好的測試覆蓋範圍可確保您免受傷害。
當實際發生不好的事情時,ScribeJava 有意義的錯誤訊息會準確地告訴您出了什麼問題、時間和地點。
從 Maven Central 拉它!
您可以從中央 Maven 儲存庫中提取 ScribeJava,只需將這些新增到您的pom.xml檔案中:
< dependency >
< groupId >com.github.scribejava</ groupId >
< artifactId >scribejava-apis</ artifactId >
< version >8.3.3</ version >
</ dependency >
如果您只需要核心類別(就是這樣,沒有任何外部 API(FB、VK、GitHub、Google 等)特定程式碼),您可以只提取「核心」工件。
< dependency >
< groupId >com.github.scribejava</ groupId >
< artifactId >scribejava-core</ artifactId >
< version >8.3.3</ version >
</ dependency >
我如何幫助 ScribeJava
首先,歡迎 Pull Request,第二個選擇是捐贈。
ScribeJava 何時支援 XXX(新 RFC、自訂功能、新 API 等)
當您發送拉取請求。這就是這裡大多數更改的方式。或者您可以請某人為您做有薪工作。在某些情況下,當我對變化(技術或財務上)感興趣時,我可以自己實現該請求。
付費諮詢
如果您或您的企業依賴 Scribejava,並且您需要 Scribejava 目前尚未實現的任何特定改進或新功能,請考慮與我聯繫以獲取付費工作。
不到 2 分鐘即可開始使用
檢查入門頁面並開始搖擺!請在建立問題之前閱讀常見問題:)
您可以在 wiki 上找到一些有用的信息和答案
另外,請記住閱讀 @akoskm 編寫的精彩教程,以輕鬆將伺服器端應用程式與 API(在本例中為 twitter)整合。
問題?
請隨時給我們發送電子郵件或在 github.com 上建立問題
叉子
如果您有一個有用的叉子應該列在那裡,請聯絡我們