シンプルな OAuth クライアント Java ライブラリである ScribeJava のホームへようこそ!
ScribeJava を使用する理由
デッドシンプル
OAuth/OAuth2 が難しいなんて誰が言ったでしょうか? ScribeJava の設定はとても簡単なので、おばあちゃんでもできます。それをチェックしてください:
OAuthService service = new ServiceBuilder ( YOUR_CLIENT_ID )
. apiSecret ( YOUR_CLIENT_SECRET )
. build ( LinkedInApi20 . instance ());
たとえば、LinkedIn の OAuth API を使用して ScribeJava を構成する場合に必要なのは、その1 行(読みやすくするために改行を追加) だけです。
動作する実行可能ファイルの例はここにあります 一般的な使用法: 例
スレッドセーフ
ScribeJava を好きなだけ強く叩いて、好きなだけスレッドを増やしてください。
Java7互換
それでおしまい。古い環境やAndroidアプリでもご利用いただけます。注: ソースからコンパイルするには、Java 9 以降が必要です。
非同期およびその他の HTTP クライアント
ScribeJava は、すぐに使用できるいくつかの HTTP クライアントをサポートしています。
- 非同期 http クライアント 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 をすぐにサポート
- Asana (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/) の例、Async Apache HTTP クライアントを使用した例、Async 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/) の例
- Genius (http://genius.com/) の例
- GitHub (https://github.com/) の例、OkHttp HTTP クライアントを使用した例
- Google (https://www.google.com/) の例、Async Http Client を使用した例、Revoke の例、PKCEE を使用した例
- HeadHunter ХэдХантер (https://hh.ru/) の例
- HiOrg-Server (https://www.hiorg-server.de/) の例
- Imgur (http://imgur.com/) の例
- Instagram(https://www.instagram.com/)の例
- Kaixin 开心网 (http://www.kaixin001.com/) の例
- カカオ(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/) の例
- Meetup (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 クライアントを使用した例
- Sina (http://www.sina.com.cn/ http://weibo.com/login.php) 例、例
- Skyrock (http://skyrock.com/) の例
- Slack (https://slack.com/) の例
- StackExchange (http://stackexchange.com/) の例
- The Things Network (v1 ステージングおよび v2 プレビュー) (https://www.thethingsnetwork.org/) サンプル v1、サンプル v2 プレビュー
- Trello (https://trello.com/) の例
- Tumblr (https://www.tumblr.com/) の例
- TUT.BY (http://www.tut.by/) の例
- Twitter(https://twitter.com/)の例
- uCoz (https://www.ucoz.com/) の例
- Viadeo (http://viadeo.com/) の例
- VK ВКонтакте (http://vk.com/) の例、クライアント資格情報付与の例、外部 HTTP クライアントを使用した例
- Wunderlist (https://www.wunderlist.com/) の例
- Xero (https://www.xero.com/) の例
- XING (https://www.xing.com/) の例
- Yahoo (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 を支援するにはどうすればよいですか
まず第一に、プル リクエストは歓迎されます。2 番目のオプションは寄付です。
ScribeJava が XXX (新しい RFC、カスタム機能、新しい API など) をサポートするのはいつですか
プルリクエストをいつ送信するか。ここでの変更の大部分はこの方法で行われます。あるいは、誰かにお金を払って仕事をしてもらうように頼むこともできます。場合によっては、変更 (技術的または財務的) に興味がある場合、そのリクエストを自分で実装することができます。
有料コンサルティング
あなたまたはあなたのビジネスが Scribejava に依存していて、現在 Scribejava に実装されていない特定の改善または新機能が必要な場合は、有償の仕事について私に連絡することを検討してください。
2 分以内に開始できます
「はじめに」ページをチェックして、さあ始めましょう!問題を作成する前によくある質問をお読みください:)
役立つ情報と回答は Wiki で見つけることができます
また、サーバー側アプリを API (この場合は Twitter) と簡単に統合するために @akoskm が書いた素晴らしいチュートリアルも忘れずに読んでください。
質問がありますか?
お気軽にメールをお送りいただくか、github.com で問題を作成してください。
フォーク
そこに掲載すべき便利なフォークをお持ちの場合は、ご連絡ください。