查询当前绑定社交账户开发

This commit is contained in:
winLsy
2018-01-17 16:30:26 +08:00
parent 1caa12ed77
commit e917427314
@@ -0,0 +1,39 @@
package com.micro.fast.security.core.social;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.social.connect.Connection;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.view.AbstractView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 定义一个返回给前端第三方账户绑定的视图,拦截请求/connect,返回connect/status视图的信息,并装换成json格式
* @author lsy
*/
@Component("connect/status")
public class MsConnectionStatusView extends AbstractView {
private ObjectMapper objectMapper = new ObjectMapper();
@Override
protected void renderMergedOutputModel(Map<String, Object> map
, HttpServletRequest httpServletRequest
, HttpServletResponse httpServletResponse)
throws Exception {
Map<String,List<Connection<?>>> connections = (Map<String,List<Connection<?>>>)map.get("connectionMap");
Map<String,Boolean> result = new HashMap<>(5);
connections.forEach((key,value)->{
result.put(key, CollectionUtils.isNotEmpty(value));
});
//返回json格式的数据
httpServletResponse.setContentType("application/json;charset=UTF-8");
httpServletResponse.getWriter().write(objectMapper.writeValueAsString(result));
}
}