- OAuth 2.0 Cookbook
- Adolfo Eloy Nascimento
- 248字
- 2021-07-08 09:35:05
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.
- 自己動手寫搜索引擎
- 深入理解Bootstrap
- Spring Cloud Alibaba微服務架構設計與開發實戰
- Interactive Data Visualization with Python
- AngularJS Web Application Development Blueprints
- 編程珠璣(續)
- 云原生Spring實戰
- Learning SQLite for iOS
- Expert Android Programming
- Learning Zurb Foundation
- Building RESTful Python Web Services
- 計算機應用基礎案例教程
- R用戶Python學習指南:數據科學方法
- 持續集成與持續交付實戰:用Jenkins、Travis CI和CircleCI構建和發布大規模高質量軟件
- 大話Java:程序設計從入門到精通