php – Symfony3 Facebook登录 – redirect_uri URL转换为亲戚
发布时间:2020-12-13 22:27:16 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试为网络应用程序实现facebook登录. 这是FacebookConnect.php ?phpnamespace VendorGiftBundleController;use SensioBundleFrameworkExtraBundleConfigurationRoute;use SymfonyBundleFrameworkBundleControllerController;use SymfonyCo
我正在尝试为网络应用程序实现facebook登录.
这是FacebookConnect.php <?php namespace VendorGiftBundleController; use SensioBundleFrameworkExtraBundleConfigurationRoute; use SymfonyBundleFrameworkBundleControllerController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingGeneratorUrlGeneratorInterface; use SymfonyComponentRoutingGeneratorUrlGenerator; class FacebookConnectController extends Controller { /** * @Route("/connect/facebook",name="connect_facebook") */ public function connectFacebookAction(Request $request) { // redirect to Facebook $redir = $this->generateUrl('connect_facebook_check',array(),UrlGeneratorInterface::ABSOLUTE_URL); $facebookOAuthProvider = $this->get('app.facebook_provider'); $url = $facebookOAuthProvider->getAuthorizationUrl([ // these are actually the default scopes 'scopes' => ['public_profile','email'],'redirect_uri' => [$redir],]); return $this->redirect($url); } /** * @Route("/connect/facebook-check",name="connect_facebook_check") */ public function connectFacebookActionCheck() { // will not be reached! } } 当我点击触发connectFacebookAction函数的按钮时,我得到FB错误redirect_uri URL必须是绝对的.它就像忽略了我在参数中给出的绝对URL. 我究竟做错了什么? 编辑:授权网址在任何情况下都会发生变化,或者对应用程序保持不变?我可以直接硬编码,直到我弄清楚如何解决这个问题? 编辑2:我弄清楚为什么URL是相对的而不是绝对的. services: app.facebook_provider: class: LeagueOAuth2ClientProviderFacebook arguments: - clientId: %facebook_app_id% clientSecret: %facebook_app_secret% graphApiVersion: v2.8 redirectUri: "@=service('router').generate('connect_facebook_check',{},true)" 如何从服务中的路由生成绝对URL? 解决方法
您使用的是联盟/ oauth2-client的1.x版本(您可以登录composer.lock)吗?那个
ignores the redirect_uri in getAuthorizationUrl并使用你在构造函数中传递的那个.如果您使用的是该版本,请将app.facebook_provider的定义更改为read
redirectUri: "@=service('router').generate('connect_facebook_check',0)" 注意0而不是true. The UrlGeneratorInterface constants have changed in 2.8. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |