gpt4 book ai didi

java - 如何使用 Spring Social 从 Facebook 注销

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:41:40 28 4
gpt4 key购买 nike

我在尝试使用 Spring Social 中的 Facebook API 实现注销按钮时遇到问题。

要注销,我是否必须像在下面的登录按钮中那样调用 URL?

我能够实现调用 URL '/connect/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));
}

和后端的其余 Controller 来查找或注册用户:

@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 上的 spring-social 示例,但它们的实现与我的完全不同。

谢谢。

最佳答案

对于那些可能遇到同样问题的人,我做了:

我再次查看了 spring 社交文档,发现我只需要在“/connect/facebook”发出删除请求。

这可以在 4.3.4 部分找到

关于java - 如何使用 Spring Social 从 Facebook 注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32743027/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com