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

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.

主站蜘蛛池模板: 海安县| 分宜县| 南雄市| 北安市| 沅陵县| 花垣县| 南靖县| 塔河县| 乌什县| 玛沁县| 郁南县| 舒兰市| 时尚| 德令哈市| 廉江市| 吉木萨尔县| 泾川县| 公安县| 穆棱市| 达孜县| 灌南县| 荣成市| 清水河县| 罗平县| 黑龙江省| 滁州市| 大足县| 五常市| 额济纳旗| SHOW| 萨迦县| 瓮安县| 梁河县| 夏河县| 塔城市| 乌什县| 咸丰县| 岳阳市| 射阳县| 榆中县| 洪雅县|