3
我在嘗試在Spring Social中使用Facebook API實現註銷按鈕時遇到問題。如何使用Spring Social從Facebook註銷
要註銷,我必須像在我的登錄按鈕中那樣調用URL嗎?
我能夠實現登錄調用URL「/連接/ Facebook的」如下:
<form action="/connect/facebook" method="POST">
<input type="hidden" name="scope" value="read_stream,email" />
<md-button type="submit">
<i class="fa fa-facebook-square"></i> Login
</md-button>
</form>
我也延長了ConnectController將用戶重定向到主頁:
@Controller
public class FacebookController extends ConnectController {
@Inject
public FacebookController(ConnectionFactoryLocator connectionFactoryLocator, ConnectionRepository connectionRepository) {
super(connectionFactoryLocator, connectionRepository);
}
@Override
protected String connectedView(String providerId){
return "redirect:/";
}
}
我使用AngularJS來抓取用戶,如果它連接,下面是我的服務負責它:
function login() {
var request = $http({
method: "GET",
url: "/home/user"
});
return (request.then(handleSuccess, handleError));
}
並在後臺休息控制器找到或註冊用戶:
@RestController
public class LoginController {
@Autowired
private Facebook facebook;
@Autowired
private UsrService usrService;
@RequestMapping(value = "/home/user", method = RequestMethod.GET)
public Usr findUser() {
Usr user;
if (!facebook.isAuthorized()) {
return null;
}
String name = facebook.userOperations().getUserProfile().getName();
String email = facebook.userOperations().getUserProfile().getEmail();
byte[] avatar = facebook.userOperations().getUserProfileImage(ImageType.SQUARE);
user = usrService.find(email);
// saves the new user
if (user == null) {
user = new Usr(email, name, avatar, 0);
user.setName(name);
user.setAvatar(avatar);
user.setLikes(0);
usrService.save(user);
}
return user;
}
}
我無法接近我實現了登錄的方式找到任何解決方案,也是我查了GitHub上的彈簧社會樣本,但他們的實現與我的完全不同。
謝謝。
發現如果你遇到類似的問題「未找到HTTP請求映射/連接/臉譜」,你可以嘗試把以下ConnectController在調度-servlet.xml中:<豆類:豆類class =「org.springframework.social.connect.web.ConnectController」> – Yuci
這是否只是斷開應用程序從Facebook或從Facebook完全註銷用戶? 即,如果用戶訪問www.facebook.com,用戶是否會被要求再次登錄? 我正在尋找一個解決方案,將用戶完全註銷Facebook – dozer