¡Bienvenido al hogar de ScribeJava, la sencilla biblioteca Java del cliente OAuth!
¿Por qué utilizar ScribeJava?
Muerto simple
¿Quién dijo que OAuth/OAuth2 era difícil? ¡Configurar ScribeJava es tan fácil que tu abuela puede hacerlo ! Échale un vistazo:
OAuthService service = new ServiceBuilder ( YOUR_CLIENT_ID )
. apiSecret ( YOUR_CLIENT_SECRET )
. build ( LinkedInApi20 . instance ());
Esa única línea (nuevas líneas agregadas para facilitar la lectura) es lo único que necesita para configurar ScribeJava con la API OAuth de LinkedIn, por ejemplo.
Aquí se encuentran ejemplos ejecutables funcionales. Uso común: ejemplo.
Seguridad para subprocesos
Pulsa ScribeJava con tanta fuerza y con tantos hilos como quieras.
Compatible con Java 7
Eso es todo. Puedes usarlo en entornos antiguos y en aplicaciones de Android. nota: Para compilar desde fuentes necesitarás Java 9 o una versión más reciente
Async y otros clientes HTTP
ScribeJava admite varios clientes HTTP listos para usar:
- Ejemplo de ning async http client 1.9.x (módulo maven scribejava-httpclient-ning)
- Ejemplo de Async Http Client asynchttpclient 2.x (módulo maven scribejava-httpclient-ahc)
- Ejemplo de OkHttp (módulo maven scribejava-httpclient-okhttp)
- Ejemplo de Apache HttpComponents HttpClient (módulo maven scribejava-httpclient-apache)
- Ejemplo de cliente HTTP Armeria (requerido >= java 8)
- cualquier ejemplo de cliente HTTP creado externamente
simplemente agregue los módulos maven correspondientes a su pom
Admite muchos flujos y funciones adicionales
- RFC 6749 El marco de autorización de OAuth 2.0, código de autorización Concesión de autorización, ejemplo
- RFC 6749 Marco de autorización OAuth 2.0, concesión de autorización de credenciales de contraseña de propietario de recurso
- RFC 6749 Marco de autorización de OAuth 2.0, concesión de autorización de credenciales de cliente, ejemplo
- RFC 6749 El marco de autorización de OAuth 2.0, actualización de un token de acceso, ejemplo
- RFC 6750 El marco de autorización de OAuth 2.0: uso de tokens de portador
- Clave de prueba RFC 7636 para el intercambio de códigos por parte de clientes públicos de OAuth (PKCE), ejemplo
- Ejemplo de revocación de token RFC 7009 OAuth 2.0
- Ejemplo de concesión de autorización de dispositivo RFC 8628 OAuth 2.0
- RFC 5849 El protocolo OAuth 1.0, ejemplo
Admite todas las (50+) API principales de OAuth 1.0a y 2.0 listas para usar
- Ejemplo de asanas (https://asana.com/)
- Ejemplo automático (https://www.automatic.com/)
- Ejemplo de AWeber (http://www.aweber.com/)
- Ejemplo de cuadro (https://www.box.com/)
- Ejemplo de datosporten (https://docs.dataporten.no/)
- Ejemplo de Digg (http://digg.com/)
- Ejemplo de Discord (https://discordapp.com/)
- Доктор на работе (https://www.doktornarabote.ru/)
- Ejemplo de Dropbox (https://www.dropbox.com/)
- Ejemplo de Etsy (https://www.etsy.com/)
- Ejemplo de Facebook (https://www.facebook.com/), ejemplo con el cliente HTTP Async Apache, ejemplo con el cliente HTTP Async Ning
- Ejemplo de Fitbit (https://www.fitbit.com/)
- Ejemplo de Flickr (https://www.flickr.com/)
- Ejemplo de Foursquare (https://foursquare.com/), ejemplo
- Ejemplo de Frappé (https://github.com/frappe/frappe)
- Ejemplo de autónomo (https://www.freelancer.com/)
- Ejemplo de genio (http://genius.com/)
- Ejemplo de GitHub (https://github.com/), ejemplo con el cliente HTTP OkHttp
- Ejemplo de Google (https://www.google.com/), ejemplo con Async Http Client, ejemplo Revoke, ejemplo con PKCEE
- Ejemplo de HeadHunter ХэдХантер (https://hh.ru/)
- Ejemplo de HiOrg-Server (https://www.hiorg-server.de/)
- Ejemplo de Imgur (http://imgur.com/)
- Ejemplo de Instagram (https://www.instagram.com/)
- Ejemplo de Kaixin 开心网 (http://www.kaixin001.com/)
- Ejemplo de Kakao (https://kakao.com/)
- Ejemplo de capa de clave (https://www.keycloak.org/)
- LinkedIn (https://www.linkedin.com/) ejemplo, ejemplo, ejemplo con ámbitos personalizados
- Ejemplo de Mail.Ru (https://mail.ru/), ejemplo con el cliente HTTP Async Ning
- Ejemplo de MediaWiki (https://www.mediawiki.org/)
- Meetup (https://www.meetup.com/) ejemplo, ejemplo
- Ejemplo de Microsoft Azure Active Directory (Azure AD) (http://azure.microsoft.com/)
- Ejemplo de Microsoft Azure Active Directory (Azure AD) 2.0 (http://azure.microsoft.com/)
- Ejemplo de Microsoft Live (https://login.live.com/)
- Ejemplo de inadaptado (http://misfit.com/)
- Ejemplo de NAVER (http://www.naver.com/)
- Ejemplo de Odnoklassniki Одколассники (http://ok.ru/)
- Ejemplo de Polar (https://www.polar.com/)
- Ejemplo de Pinterest (https://www.pinterest.com/)
- Ejemplo de 500px (https://500px.com/)
- Ejemplo de Renren (http://renren.com/)
- Ejemplo de Salesforce (https://www.salesforce.com/), ejemplo con el cliente HTTP Async Ning
- Sina (http://www.sina.com.cn/ http://weibo.com/login.php) ejemplo, ejemplo
- Ejemplo de Skyrock (http://skyrock.com/)
- Ejemplo de holgura (https://slack.com/)
- Ejemplo de StackExchange (http://stackexchange.com/)
- The Things Network (v1-staging y v2-preview) (https://www.thethingsnetwork.org/) ejemplo v1, ejemplo v2 vista previa
- Ejemplo de Trello (https://trello.com/)
- Ejemplo de Tumblr (https://www.tumblr.com/)
- Ejemplo de TUT.BY (http://www.tut.by/)
- Ejemplo de Twitter (https://twitter.com/)
- Ejemplo de uCoz (https://www.ucoz.com/)
- Ejemplo de Viadeo (http://viadeo.com/)
- Ejemplo de VK ВКонтакте (http://vk.com/), ejemplo de concesión de credenciales de cliente, ejemplo con cliente HTTP externo
- Ejemplo de Wunderlist (https://www.wunderlist.com/)
- Ejemplo de Xero (https://www.xero.com/)
- Ejemplo de XING (https://www.xing.com/)
- Ejemplo de Yahoo (https://www.yahoo.com/), ejemplo
- revisa la carpeta de ejemplos
Pequeño y modular
El código de ScribeJava es pequeño (aproximadamente 1k LOC) y fácil de entender. Aquí no hay trucos inteligentes o "inteligentes". Puede utilizar sólo módulos maven 'core' o 'with apis'
Listo para Android
Funciona de inmediato con aplicaciones de Android(TM).
Estable y a prueba de balas
Buena cobertura de prueba para mantenerte a salvo de daños.
Cuando realmente sucede algo malo, los significativos mensajes de error de ScribeJava le dirán exactamente qué salió mal, cuándo y dónde.
¡Tráelo de Maven Central!
Puede extraer ScribeJava del repositorio central de Maven, simplemente agréguelo a su archivo pom.xml :
< dependency >
< groupId >com.github.scribejava</ groupId >
< artifactId >scribejava-apis</ artifactId >
< version >8.3.3</ version >
</ dependency >
Y en caso de que necesite solo clases principales (eso es todo, sin ningún código específico de API externa (FB, VK, GitHub, Google, etc.), puede extraer solo el artefacto "central".
< dependency >
< groupId >com.github.scribejava</ groupId >
< artifactId >scribejava-core</ artifactId >
< version >8.3.3</ version >
</ dependency >
¿Cómo puedo ayudar a ScribeJava?
En primer lugar, las solicitudes de extracción son bienvenidas, la segunda opción son las donaciones.
¿Cuándo admitirá ScribeJava XXX (nuevo RFC, funcionalidad personalizada, nueva API, etc.)?
Cuándo enviará la solicitud de extracción. Ese es el camino para la mayoría de los cambios aquí. O puede pedirle a alguien que haga el trabajo remunerado por usted. En algunos casos, cuando estoy interesado en cambios (técnicos o financieros), puedo implementar la solicitud yo mismo.
Consultoría pagada
Si usted o su empresa dependen de Scribejava y necesita alguna mejora específica o característica nueva que no esté implementada actualmente en Scribejava, considere contactarme sobre un trabajo remunerado.
Empezando en menos de 2 minutos
¡Consulta la página de introducción y empieza a rockear! Lea las preguntas frecuentes antes de crear un problema :)
Alguna información útil y respuestas que puedes encontrar en la wiki.
Además, recuerda leer el fantástico tutorial que escribió @akoskm para integrar fácilmente una aplicación del lado del servidor con una API (twitter en este caso).
¿Preguntas?
No dudes en enviarnos un correo electrónico o crear un problema aquí mismo en github.com.
Horquillas
Si tiene una bifurcación útil que debería aparecer allí, contáctenos