ยินดีต้อนรับสู่บ้านของ ScribeJava ซึ่งเป็นไคลเอนต์ OAuth Java lib ที่เรียบง่าย!
ทำไมต้องใช้ ScribeJava?
ตายง่าย
ใครบอกว่า OAuth/OAuth2 เป็นเรื่องยาก การกำหนดค่า ScribeJava นั้น ง่ายมากที่คุณยายของคุณสามารถทำได้ ! ลองดูสิ:
OAuthService service = new ServiceBuilder ( YOUR_CLIENT_ID )
. apiSecret ( YOUR_CLIENT_SECRET )
. build ( LinkedInApi20 . instance ());
บรรทัดเดียว นั้น (เพิ่มบรรทัดใหม่เพื่อให้สามารถอ่านได้) เป็นสิ่งเดียวที่คุณต้องกำหนดค่า ScribeJava ด้วย OAuth API ของ LinkedIn เป็นต้น
ตัวอย่างที่ปฏิบัติการได้อยู่ที่นี่ การใช้งานทั่วไป: ตัวอย่าง
เธรดเซฟ
เข้าชม ScribeJava อย่างแรงและมีหลายเธรดตามที่คุณต้องการ
เข้ากันได้กับจาวา 7
แค่นั้นแหละ. คุณสามารถใช้มันในสภาพแวดล้อมแบบเก่าและในแอพ Android หมายเหตุ: หากต้องการคอมไพล์จากแหล่งต่างๆ คุณจะต้องใช้ Java 9 หรือใหม่กว่า
Async และไคลเอนต์ HTTP อื่น ๆ
ScribeJava รองรับไคลเอนต์ HTTP หลายตัวนอกกรอบ:
- ตัวอย่างไคลเอ็นต์ ning async http 1.9.x (โมดูล maven scribejava-httpclient-ning)
- ตัวอย่างไคลเอ็นต์ Async 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 Public Clients (PKCE)
- ตัวอย่างการเพิกถอนโทเค็น RFC 7009 OAuth 2.0
- ตัวอย่างการให้สิทธิ์อนุญาตอุปกรณ์ RFC 8628 OAuth 2.0
- RFC 5849 ตัวอย่างโปรโตคอล OAuth 1.0
รองรับ OAuth API หลักทั้งหมด (50+) รายการแบบสำเร็จรูป
- ตัวอย่างอาสนะ (https://asana.com/)
- ตัวอย่างอัตโนมัติ (https://www.automatic.com/)
- ตัวอย่าง AWeber (http://www.aweber.com/)
- ตัวอย่างกล่อง (https://www.box.com/)
- ตัวอย่าง Dataporten (https://docs.dataporten.no/)
- ตัวอย่าง Digg (http://digg.com/)
- ตัวอย่าง Discord (https://discordapp.com/)
- Доктор на работе (https://www.doktornalabote.ru/)
- ตัวอย่างดรอปบ็อกซ์ (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/)
- ตัวอย่าง Frappe (https://github.com/frappe/frappe)
- ตัวอย่างฟรีแลนซ์ (https://www.freelancer.com/)
- ตัวอย่างอัจฉริยะ (http://genius.com/)
- ตัวอย่าง GitHub (https://github.com/) ตัวอย่างกับไคลเอ็นต์ OkHttp HTTP
- ตัวอย่าง Google (https://www.google.com/) ตัวอย่างกับ Async Http Client ตัวอย่างการเพิกถอน ตัวอย่างด้วย PKCEE
- ตัวอย่าง HeadHunter Khэдхантер (https://hh.ru/)
- ตัวอย่าง HiOrg-Server (https://www.hiorg-server.de/)
- ตัวอย่าง Imgur (http://imgur.com/)
- ตัวอย่างอินสตาแกรม (https://www.instagram.com/)
- ตัวอย่าง Kaixin ที่เปิดหัวใจ网 (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 Client
- ตัวอย่างมีเดียวิกิ (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/)
- ตัวอย่างโพลาร์ (https://www.polar.com/)
- ตัวอย่าง Pinterest (https://www.pinterest.com/)
- ตัวอย่าง 500px (https://500px.com/)
- ตัวอย่าง Renren (http://renren.com/)
- ตัวอย่าง Salesforce (https://www.salesforce.com/) ตัวอย่างกับ Async Ning HTTP Client
- 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-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 ภายนอก
- ตัวอย่าง Wunderlist (https://www.wunderlist.com/)
- ตัวอย่างซีโร (https://www.xero.com/)
- ตัวอย่าง XING (https://www.xing.com/)
- ตัวอย่าง Yahoo (https://www.yahoo.com/)
- ตรวจสอบโฟลเดอร์ตัวอย่าง
ขนาดเล็กและโมดูลาร์
โค้ดของ ScribeJava มีขนาดเล็ก (ประมาณ 1,000 LOC) และเข้าใจง่าย ไม่มีการแฮ็กที่ฉลาดหรือ "ฉลาด" ที่นี่ คุณสามารถใช้ได้เฉพาะโมดูล 'core' หรือ 'with apis' maven
รองรับ Android
ใช้งานได้ทันทีด้วยแอพพลิเคชั่น android(TM)
มั่นคงและกันกระสุน
ความคุ้มครองการทดสอบที่ดีเพื่อให้คุณปลอดภัยจากอันตราย
เมื่อมีสิ่งเลวร้ายเกิดขึ้นจริง ข้อความแสดงข้อผิดพลาดที่มีความหมายของ ScribeJava จะบอกคุณอย่างชัดเจนว่ามีอะไรผิดพลาด เมื่อใด และที่ไหน
ดึงมันมาจาก Maven Central!
คุณสามารถดึง ScribeJava ได้จากที่เก็บ Maven ส่วนกลาง เพียงเพิ่มสิ่งเหล่านี้ลงในไฟล์ 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 ได้อย่างไร
ประการแรก เรายินดีรับคำขอดึง ตัวเลือกที่สองคือการบริจาค
ScribeJava จะสนับสนุน XXX เมื่อใด (RFC ใหม่, ฟังก์ชันการทำงานแบบกำหนดเอง, API ใหม่ ฯลฯ)
เมื่อคุณจะส่งคำขอดึง นั่นคือวิธีสำหรับการเปลี่ยนแปลงส่วนใหญ่ที่นี่ หรือคุณสามารถขอให้ใครสักคนหางานให้คุณได้ ในบางกรณี เมื่อฉันสนใจในการเปลี่ยนแปลง (ทางเทคนิคหรือทางการเงิน) ฉันสามารถดำเนินการตามคำขอได้ด้วยตนเอง
ให้คำปรึกษาแบบเสียค่าใช้จ่าย
หากคุณหรือธุรกิจของคุณขึ้นอยู่กับ Scribejava และคุณต้องการการปรับปรุงเฉพาะหรือคุณสมบัติใหม่ที่ไม่ได้ใช้งานใน Scribejava ในปัจจุบัน โปรดพิจารณาติดต่อฉันเกี่ยวกับงานที่ได้รับค่าจ้าง
เริ่มต้นใช้งานในเวลาไม่ถึง 2 นาที
ตรวจสอบหน้าเริ่มต้นใช้งานและเริ่มสนุกได้เลย! โปรดอ่านคำถามที่พบบ่อยก่อนที่จะสร้างปัญหา :)
ข้อมูลและคำตอบที่เป็นประโยชน์บางอย่างที่คุณสามารถพบได้บนวิกิ
นอกจากนี้ อย่าลืมอ่านบทช่วยสอนที่ยอดเยี่ยมที่ @akoskm เขียนเพื่อรวมแอปฝั่งเซิร์ฟเวอร์เข้ากับ API ได้อย่างง่ายดาย (ในกรณีนี้คือ twitter)
คำถาม?
โปรดส่งอีเมลถึงเราหรือสร้างปัญหาได้ที่นี่บน github.com
ส้อม
หากคุณมีทางแยกที่มีประโยชน์ซึ่งควรแสดงไว้ที่นั่น โปรดติดต่อเรา