- OAuth 2.0 Cookbook
- Adolfo Eloy Nascimento
- 257字
- 2021-07-08 09:35:03
How it works...
This chapter presented you with how to register your application and how to connect with Facebook through the use of the Authorization Code grant type. Because it's a server side flow, it is supposed to be more secure than using the client-side approach (that is, to use the Implicit grant type). But instead of writing the code to handle all the conversations between social-authcode and Facebook (the OAuth 2.0 dance) we are using Spring Social, which provides the ConnectController class which has the capability of starting the authorization flow as well as receiving all callbacks that must be mapped when registering the application.
To better understand how this application works, run the class SocialAuthcodeApplication as Java code and go to http://localhost:8080/ to see the page that will present you with the possibility of connecting to Facebook. Click on Connect to Facebook and you will be redirected to the Facebook authentication page (as per OAuth 2.0's specifications).
After authenticating the user, Facebook presents the user consent page presenting the scope the client application is asking for. Click on continue to grant the requested permission.
After granting permission for public_profile and friend_list scopes, the user must be redirected back to localhost:8080/connect with the authorization code embedded (which will be extracted and validated by ConnectController automatically).
Note that ConnectController will render the facebookConnected view by presenting the following page:

Click on the link here so the application can retrieve the friends which have also authorized social-authcode. You are supposed to see the following page with different content:

- 零基礎搭建量化投資系統:以Python為工具
- 解構產品經理:互聯網產品策劃入門寶典
- 編程的修煉
- Java高并發核心編程(卷2):多線程、鎖、JMM、JUC、高并發設計模式
- Java面向對象思想與程序設計
- Learn WebAssembly
- Python機器學習:預測分析核心算法
- 小程序,巧應用:微信小程序開發實戰(第2版)
- 零基礎學C語言第2版
- Learning Modular Java Programming
- SQL Server 2008 R2數據庫技術及應用(第3版)
- 分布式架構原理與實踐
- Responsive Web Design with jQuery
- Azure for Architects
- 前端程序員面試筆試真題與解析