官术网_书友最值得收藏!

How it works...

An important thing that we did for this recipe was to bind the application users to their respective connection with the OAuth 2.0 Provider (Google in this case). It's important because by doing so, we have a connection per user, unlike the other recipes using Spring Social. But instead of allowing users to register themselves to the social-google1 application, we are using an in-memory model using pre-defined user credentials, as presented in the following code:

auth.inMemoryAuthentication() 
   .withUser("adolfo").password("123").authorities("USER") 
   .and() 
   .withUser("jujuba").password("123").authorities("USER");

So, when running the application and pointing your browser to http://localhost:8080, you must be prompted by an authentication form, as follows.

Enter one of the credentials we declared within the SecurityConfiguration class and click on the Login button, which will lead you to the following page:

This is the page where you might choose to connect with Google by clicking on Connect to Google, which will redirect you to Google's authentication and authorization form as presented in the following screenshot:

Authenticate yourself and grant all the requested permissions and you will be redirected back to the connected page:

Click on the link here and you will be redirected to the profile's HTML view which will retrieve your name from the Google Plus API. Now, if you go to http://localhost:8080/logout, you will be logged out, as you might expect, and if you try to log in with another user you will have to start a new connection flow proving that you have a connection per logged user.

主站蜘蛛池模板: 南江县| 大理市| 湾仔区| 平罗县| 运城市| 休宁县| 垦利县| 德州市| 亚东县| 洱源县| 江陵县| 安溪县| 澜沧| 陕西省| 会同县| 霍山县| 延津县| 交口县| 沅江市| 卫辉市| 灵台县| 彰化县| 洪泽县| 全州县| 新乡市| 陆丰市| 天全县| 报价| 东阳市| 胶州市| 右玉县| 灵武市| 慈溪市| 武山县| 资源县| 咸宁市| 锡林郭勒盟| 宜阳县| 乌拉特前旗| 潍坊市| 潍坊市|