我正在尝试运行socialauth spring示例(http://code.google.com/p/socialauth/wiki/SpringSample)但是当我尝试与facebook连接时,来自的socialAuthTemplate.getSocialAuthManager()调用来自SuccessController.java返回null。我无法进行任何调试以找出我做错了什么,因为它是来自sociaauth.jar的函数,我无法访问其代码。以前有人有这个问题吗?我该怎么办?我唯一的猜测是我没有正确配置项目(我没有包含一些库或smth)。我正在使用netbeans。
这是代码:
@Controller
public class SuccessController {
@Autowired
private SocialAuthTemplate socialAuthTemplate;
@RequestMapping(value = "/authSuccess")
public ModelAndView getRedirectURL(final HttpServletRequest request)
throws Exception {
ModelAndView mv = new ModelAndView();
List<Contact> contactsList = new ArrayList<Contact>();
SocialAuthManager manager = socialAuthTemplate.getSocialAuthManager(); //returns null
AuthProvider provider = manager.getCurrentAuthProvider();
contactsList = provider.getContactList();
if (contactsList != null && contactsList.size() > 0) {
for (Contact p : contactsList) {
if (!StringUtils.hasLength(p.getFirstName())
&& !StringUtils.hasLength(p.getLastName())) {
p.setFirstName(p.getDisplayName());
}
}
}
mv.addObject("profile", provider.getUserProfile());
mv.addObject("contacts", contactsList);
mv.setViewName("/jsp/authSuccess.jsp");
return mv;
}
答案 0 :(得分:0)
您可以在spring配置文件中验证socialAuthTemplate类的范围吗?它应该有会话范围。
<bean id="socialAuthTemplate" class="org.brickred.socialauth.spring.bean.SocialAuthTemplate" scope="session">
<aop:scoped-proxy/>
</bean>
如果您需要socialauth的代码库,可以从以下位置下载socialauth-java-sdk-2.3.zip文件。它包含所有源代码和示例。