Code Monkey home page Code Monkey logo

scribejava's Introduction

Welcome to the home of ScribeJava, the simple OAuth client Java lib!

Maven Central

Why use ScribeJava?

Dead Simple

Who said OAuth/OAuth2 was difficult? Configuring ScribeJava is so easy your grandma can do it! check it out:

OAuthService service = new ServiceBuilder(YOUR_API_KEY)
                                  .apiSecret(YOUR_API_SECRET)
                                  .build(LinkedInApi20.instance());

That single line (added newlines for readability) is the only thing you need to configure ScribeJava with LinkedIn's OAuth API for example.

Working runnable examples are here Common usage: example

Threadsafe

Hit ScribeJava as hard and with many threads as you like.

Java 7 compatible

That's it. You can use it in old environments and in android apps. note: To compile from sources you will need Java 9 or newer

Async and other HTTP clients

ScribeJava support out-of-box several HTTP clients:

  • ning async http client 1.9.x (maven module scribejava-httpclient-ning) example
  • Async Http Client asynchttpclient 2.x (maven module scribejava-httpclient-ahc) example
  • OkHttp (maven module scribejava-httpclient-okhttp) example
  • Apache HttpComponents HttpClient (maven module scribejava-httpclient-apache) example
  • any externally created HTTP client example

just add corresponding maven modules to your pom

Supports many flows and additional features

  • RFC 6749 The OAuth 2.0 Authorization Framework, Authorization Code Authorization Grant example
  • RFC 6749 The OAuth 2.0 Authorization Framework, Client Credentials Authorization Grant example
  • RFC 6749 The OAuth 2.0 Authorization Framework, Resource Owner Password Credentials Authorization Grant
  • RFC 6750 The OAuth 2.0 Authorization Framework: Bearer Token Usage
  • RFC 7636 Proof Key for Code Exchange by OAuth Public Clients (PKCE) example
  • RFC 7009 OAuth 2.0 Token Revocation example

Supports all major 1.0a and 2.0 OAuth APIs out-of-the-box

Small and modular

ScribeJava's code is small (about 1k LOC) and simple to understand. No smart-ass or "clever" hacks here. You can use only 'core' or 'with apis' maven modules

Android-Ready

Works out of the box with android(TM) applications.

Stable & bulletproof

Good test coverage to keep you safe from harm.

When something bad actually happens, ScribeJava's meaningful error messages will tell you exactly what went wrong, when and where.

Pull it from Maven Central!

You can pull ScribeJava from the central maven repository, just add these to your pom.xml file:

<dependency>
    <groupId>com.github.scribejava</groupId>
    <artifactId>scribejava-apis</artifactId>
    <version>6.0.0</version>
</dependency>

And in case you need just core classes (that's it, without any external API (FB, VK, GitHub, Google etc) specific code), you could pull just 'core' artifact.

<dependency>
    <groupId>com.github.scribejava</groupId>
    <artifactId>scribejava-core</artifactId>
    <version>6.0.0</version>
</dependency>

Getting started in less than 2 minutes

Check the Getting Started page and start rocking! Please Read the FAQ before creating an issue :)

Also, remember to read the fantastic tutorial that @akoskm wrote to easily integrate a server side app with an API (twitter in this case).

Questions?

Feel free to drop us an email or create issue right here on github.com

Forks

If you have a useful fork that should be listed there please contact us

scribejava's People

Contributors

alexgyori avatar arcao avatar arthraim avatar boncey avatar chenjianjx avatar dhruvchandna avatar diegossilveira avatar dreamcwli avatar dwursteisen avatar eranation avatar fernandezpablo85 avatar jochen-a-klein avatar jpmeijers avatar kaushalmall avatar klakegg avatar kullfar avatar matthewdlaudato avatar mclaughlinsteve avatar michalfoksa avatar mnovy avatar muenzpraeger avatar norbertpotocki avatar ponyloky avatar rabrg avatar robindrost avatar s-gromov avatar sripathikrishnan avatar sschwieb avatar vainolo avatar vivin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.