我即将为TYPO3 7(LTS)编写自己的社交媒体登录扩展。 建立与FE用户的连接,一切似乎都有效。 该扩展程序提供了一个 FE插件,它具有典型的登录按钮。
我现在的问题是,登录代码运行得很晚(我想在FE插件环境中)。与登录状态相关的每个其他网站部件(模板扩展等)仍然说用户已注销。只有当您重新加载页面时,一切正常。
那么我在哪里以及如何初始化一个可以评估Extbase表单数据的函数并执行类似
的操作$GLOBALS['TSFE']->fe_user->checkPid = 0;
$GLOBALS['TSFE']->fe_user->is_permanent = 0;
$info = $GLOBALS['TSFE']->fe_user->getAuthInfoArray();
$user = $GLOBALS['TSFE']->fe_user->fetchUserRecord($info['db_user'], $username);
$GLOBALS['TSFE']->fe_user->createUserSession($user);
$GLOBALS['TSFE']->loginUser = true;
$GLOBALS['TSFE']->fe_user->setAndSaveSessionData('dummy', TRUE);
$GLOBALS['TSFE']->fe_user->user = $GLOBALS['TSFE']->fe_user->fetchUserSession();
在任何其他扩展程序到来之前检查登录状态?
答案 0 :(得分:4)
您应该做的是查看TYPO3的身份验证服务层 - 这是为前端和后端进行身份验证和创建会话的部分。文档充满了很好的描述
https://docs.typo3.org/typo3cms/Typo3ServicesReference/7.6/Developer/NewServiceType/Index.html
https://docs.typo3.org/typo3cms/Typo3ServicesReference/7.6/Authentication/Index.html
查看social_auth
https://github.com/kalypso63/social_auth
供参考