如何在我的 TYPO3 扩展中正确地回调 Twitter 帐户
How is correctly way to do callback of Twitter acount in my TYPO3 extension
我们正在开发负责管理社交网络配置文件的 TYPO3 扩展。我们使用扩展 "ps_social" 作为理解社交媒体网络 API 可以通过适配器模式与 TYPO3 一起工作的指南。
我有验证配置文件并在其中发布的实施概念证明,但仅通过 PHP,现在我们想将它带到 TYPO3 扩展。
我的问题是关于验证配置文件时的回调。我们的扩展将我们发送到社交网络,当我们 return 到我们的网页时,使用 url 中的令牌,这不会改变并在重定向到身份验证之前显示插件的相同屏幕社交网络。 Twitter 管理应用程序中的回调 url 具有我们插件页面的 ID。我检查 url 以更改插件操作但不起作用。
我们发现此步骤对于以后能够在应用程序中发布经过身份验证的配置文件至关重要。
问题可能是您的身份验证服务在返回 TYPO3 站点时没有被触发。您的服务是否会触发取决于几个配置选项。默认情况下,您的服务只会在 POST 登录操作发生时触发 - 但有一些选项可以定义,例如,身份验证服务必须始终尝试获取(并因此验证)用户,即使有没有 POST 登录数据(相反,可以使用 GET 参数来确定是否应尝试进行身份验证)。
如果您打算使用此方法登录 BE 用户,还有一个警告。我注意到,如果您尝试在 FE 中登录 BE 用户,则不会执行任何操作或配置 除非 存在现有的 BE 用户 cookie(如果您曾经登录过 BE)。如果您使用身份验证服务正常登录 BE,则不会出现此问题-仅在您尝试在 FE 中进行时才适用。
TL;DR:我猜您需要为目标 BE/FE 上下文配置 "always auth user" 设置,使用此 [=22] 的 "advanced" 部分中描述的参数=]: https://docs.typo3.org/typo3cms/Typo3ServicesReference/Authentication/Index.html
创建新插件时问题已解决。例如,在 Twitter 的应用程序配置中,我不能将参数设置为控制器和操作;只有页面ID。我必须在我的 TYPO3 扩展中创建一个插件,该插件在一个页面中执行获取回调信息的操作,处理和 return 带有社交资料列表的页面。我们在每个社交网络(Facebook、Google+ 和 Instagram)中都这样做了,以便他们的回调 URL 是正确的。
我们正在开发负责管理社交网络配置文件的 TYPO3 扩展。我们使用扩展 "ps_social" 作为理解社交媒体网络 API 可以通过适配器模式与 TYPO3 一起工作的指南。
我有验证配置文件并在其中发布的实施概念证明,但仅通过 PHP,现在我们想将它带到 TYPO3 扩展。
我的问题是关于验证配置文件时的回调。我们的扩展将我们发送到社交网络,当我们 return 到我们的网页时,使用 url 中的令牌,这不会改变并在重定向到身份验证之前显示插件的相同屏幕社交网络。 Twitter 管理应用程序中的回调 url 具有我们插件页面的 ID。我检查 url 以更改插件操作但不起作用。
我们发现此步骤对于以后能够在应用程序中发布经过身份验证的配置文件至关重要。
问题可能是您的身份验证服务在返回 TYPO3 站点时没有被触发。您的服务是否会触发取决于几个配置选项。默认情况下,您的服务只会在 POST 登录操作发生时触发 - 但有一些选项可以定义,例如,身份验证服务必须始终尝试获取(并因此验证)用户,即使有没有 POST 登录数据(相反,可以使用 GET 参数来确定是否应尝试进行身份验证)。
如果您打算使用此方法登录 BE 用户,还有一个警告。我注意到,如果您尝试在 FE 中登录 BE 用户,则不会执行任何操作或配置 除非 存在现有的 BE 用户 cookie(如果您曾经登录过 BE)。如果您使用身份验证服务正常登录 BE,则不会出现此问题-仅在您尝试在 FE 中进行时才适用。
TL;DR:我猜您需要为目标 BE/FE 上下文配置 "always auth user" 设置,使用此 [=22] 的 "advanced" 部分中描述的参数=]: https://docs.typo3.org/typo3cms/Typo3ServicesReference/Authentication/Index.html
创建新插件时问题已解决。例如,在 Twitter 的应用程序配置中,我不能将参数设置为控制器和操作;只有页面ID。我必须在我的 TYPO3 扩展中创建一个插件,该插件在一个页面中执行获取回调信息的操作,处理和 return 带有社交资料列表的页面。我们在每个社交网络(Facebook、Google+ 和 Instagram)中都这样做了,以便他们的回调 URL 是正确的。