我们正在使用liferay-portal-6.2-ce-ga2社区版。 我们正在尝试将facebook登录集成到我们的门户网站中,但它无法正常运行。 在com.liferay.portlet.login.action.FacebookConnectAction中从facebook获取的信息成功添加/更新用户,但是当从login_redirect.jsp发送重定向时,它将用户重定向到门户的登录页面而不是登录用户
在调试login_redirect.jsp时,我们发现控件进入了if部分(在下面的代码片段中),并且它正在尝试调用afterlogin方法。
但是在加载的javascript中找不到afterlogin方法。我们都不能在任何地方找到这种方法 /portal-master/portal-web/docroot/html/taglib/ui/discussion/page.jsp。但这看起来并不相关。
参考代码:
if (window.opener) {
[color=#cc1f1f]
var namespace = window.opener.parent.namespace;
var randomNamespace = window.opener.parent.randomNamespace;
var afterLogin = window.opener.parent[randomNamespace + 'afterLogin'];[/color]
afterLogin('<%= HtmlUtil.escape(emailAddress) %>', <%= anonymousAccount %>);
if (<%= !anonymousAccount %>) {
window.opener.parent.Liferay.fire(
'closeWindow',
{
id: namespace + “signInDialog"
}
);
window.close();
}
}
else {
var namespace = window.parent.namespace;
var randomNamespace = window.parent.randomNamespace;
var afterLogin = window.parent[randomNamespace + 'afterLogin'];
afterLogin('<%= HtmlUtil.escape(emailAddress) %>', <%= anonymousAccount %>);
if (<%= !anonymousAccount %>) {
Liferay.fire(
'closeWindow',
{
id: namespace + "signInDialog"
}
);
}
}
Google+和Linked In登录时也会出现同样的问题,因为他们也使用相同的重定向登录。 请提出我们遗漏的内容,或者这是Liferay中已知的问题。
由于
答案 0 :(得分:2)
试试这个: