If you look at the showcase examples, you'll see that SignupController uses the ProviderSignInUtils.getConnection() method to fetch the pending connection and uses data from that to populate a SignupForm that it places in the request. On the JSP it pulls that data and populates the form.
But what you're doing is a bit odd. You're doing a connection via ConnectController and then, after successful connection, you are taking them to a page where you have a registration form. That's very cart-before-the-horse.
ConnectController is for creating connections between an *existing* local user and their remove provider account. If you're walking a user through the ConnectController flow, then it's assumed that the user already exists and is already signed into your application. If not, then what is being connected? What's the local user in the connection?
To create connections for new users as a part of the registration process, ProviderSignInController is your guy. PSIC will attempt to authenticate an existing user if that user has previously connected to the provider. But if there's no matching connection, it will create a connection, but not persist it (that's the pending connection I mentioned in the first paragraph). Then it will forward to an app-defined registration page. After successful registration, you can user ProviderSignInUtils to complete the pending connection.
Craig Walls
Spring Social Project Lead