Craig Walls

Craig Walls

Sr. Engineer | Denver, CO

Craig Walls is a senior engineer with Pivotal as the Spring Social project lead and is the author of Spring in Action and Spring Boot in Action. He's a zealous promoter of the Spring Framework, speaking frequently at local user groups and conferences and writing about Spring. When he's not slinging code, Craig spends as much time as he can with his wife, two daughters, 2 birds and 3 dogs.
Blog posts by Craig Walls

Spring Social End of Life Announcement

Engineering | July 03, 2018 | ...

Today it is with an optimistic look to the future that I am announcing the end of life for Spring Social, a project that I have had the pleasure to work with over the past eight years.

With the release of Spring Security 5, much of the functionality offered by Spring Social’s connection framework—which I consider the most valuable piece of Spring Social—is now part of Spring Security. In fact, I shared how to use Spring Security’s new support for client-side OAuth2 in a blog article from back in March. And as Spring Security continues to evolve its client-side OAuth support, Spring Social’s…

Using Spring Security 5 to integrate with OAuth 2-secured services such as Facebook and GitHub

Engineering | March 06, 2018 | ...

One of the key features in Spring Security 5 is support for writing applications that integrate with services that are secured with OAuth 2. This includes the ability to sign into an application by way of an external service such as Facebook or GitHub.

But with a little bit of extra code, you can also obtain an OAuth 2 access token that can be used to perform authorized requests against the service’s API.

In this article, we’re going to look at how to develop a Spring Boot application that, using Spring Security 5, integrates with Facebook. You can find the complete code for this article at

Spring Social Facebook 2.0.3 Released

Releases | December 09, 2015 | ...

Dear Spring Community,

I'm pleased to announce the release of Spring Social Facebook 2.0.3.RELEASE. This is a maintenance release that addresses a few bugs, the most significant of which was a breaking change introduced recently in Facebook's Graph API which prevented connections and sign-in from working with Spring Social Facebook. In addition, the API binding has been adjusted to target Graph API v2.5.

View the changelog for more details.

Project Site | Reference | JavaDoc

Spring Social 1.1.4 Released

Releases | November 25, 2015 | ...

Dear Spring Community,

I'm pleased to announce the availability of Spring Social 1.1.4.RELEASE. This includes the Spring Social Core, Web, Security, and Config modules.

This is a maintenance release, addressing a handful of bugs and introducing a few minor improvements (many of which were submitted as pull requests from our wonderful open-source community...thanks!). View the changelog for full details.

Project Site | Reference | JavaDoc

Spring Social 1.1.1 Released

Releases | May 15, 2015 | ...

Dear Spring Community,

I'm pleased to announce the availability of Spring Social 1.1.1.RELEASE. This is a maintenance release, addressing a handful of bugs and introducing a few minor improvements. View the release notes for full details.

Compatibility note: In order to fix a serialization issue when using ProviderSignInUtils, a minor breaking change was necessary. ProviderSignInAttempt no longer carries its own ConnectionFactoryLocator and UsersConnectionRepository. Those must now be passed in as parameters when instantiating ProviderSignInUtils.

Project Site | Reference | JavaDoc

Spring Social Facebook 2.0.1 Released

Releases | April 27, 2015 | ...

I'm pleased to announce the release of Spring Social Facebook 2.0.1.RELEASE. This maintenance release addresses a handful of bugs that were discovered following the 2.0.0.RELEASE two weeks ago. For complete details regarding this release, see the changelog.

Note that if you're using Spring Social Facebook with Spring Boot, the Spring Boot starter for Spring Social Facebook still references 1.1.1.RELEASE. But you can override that by explicitly declaring the 2.0.1.RELEASE dependency in your Maven or Gradle build. See the Spring Social Showcase/Spring Boot example to see how this is done.

Project Site | Reference |

Spring Social Facebook 2.0.0.RELEASE Released

Releases | April 15, 2015 | ...

Dear Spring Community,

I'm happy to announce the release of Spring Social Facebook 2.0.0.RELEASE. This release completes the overhaul of Spring Social Facebook to target version 2.3 of Facebook's Graph API.Facebook will be turning off version 1.0 of their Graph API on April 30th, so it is highly recommended that you upgrade to Spring Social Facebook 2.0.0.RELEASE as soon as possible.

As has been mentioned in last week's release candidate and in milestone releases prior to that, Facebook's Graph API introduced several breaking changes which resulted in many breaking changes between Spring Social Facebook 1.1.x and Spring Social Facebook 2.0.0. Also, even some operations that still work do not work as they did previously. For example, it is no longer possible to fetch a list of all

Spring Social Facebook 2.0.0.RC1 Released

Releases | April 07, 2015 | ...

Dear Spring Community,

I'm pleased to announce the release of Spring Social Facebook 2.0.0.RC1. This release candidate brings Spring Social Facebook's API binding to target version 2.3 of Facebook's Graph API.

View the release notes here.

Be aware that due to many breaking changes in Facebook's Graph API between v1.0 and v2.0, plus additional changes up through v2.3, there are some necessary breaking changes in this version of Spring Social Facebook. Also, because of the large number of breaking changes already imposed upon Spring Social Facebook by changes in the Graph API, we decided to take…

Introducing Spring Sync

Engineering | October 22, 2014 | ...

Earlier today, I announced the first milestone release of Spring Sync, a new project that addresses efficient communication between client applications and Spring backends by employing patch-based exchanges. As this is a new project, I thought it would be a good time to show you what Spring Sync can do.

The examples given here refer to the Spring REST Todos example and/or the Todo class in that example project.

Creating and applying patches

At its lowest level, Spring Sync provides a library for producing and applying patches to Java objects. The Patch class is the centerpiece of this library…

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all