OAuth2.0 supercedes OAuth1.0 protocol, specifically in making it simpler to use. It supports different workflows as described in its specification RFC-6749. The most concise pictorial representation I found is here.
I created a Play! 2.0 Application in Scala which supports server to server token exchange using OAuth2.0 Protocol. You can find the project source code on GitHub at play-oauth2-server. Its a complete working server codebase, with:
- Basic User login
- Client registration with Callback URL
- Auth Code generation
- Authentication Token and Refresh Token generation
This application also demonstrates the following:
- Twitter Bootstrap library using WebJars
- Typesafe Slick 2 library for database access
- Scoverage for Scala code coverage
- and Specification Tests
To play with it, folow project README document. Please report any issues here.