我想使用facebook oauth,但我对设置重定向网址感到困惑。
在Facebook应用设置中,有一个地方可以设置网站网址()
**选择您的应用与Facebook集成的方式
Facebook登录网站
网站网址:
在facebook-python api example中,还有另一个redirect_url参数(redirect_uri)
args = dict(client_id = FACEBOOK_APP_ID,redirect_uri = self.request.path_url) self.redirect( “https://graph.facebook.com/oauth/authorize?” + urllib.urlencode(参数))
它们之间有什么不同以及如何使用它们? 通过实验,我发现用户只会被重定向到在Facebook应用设置中设置的网址。
redirect_uri似乎毫无意义。
答案 0 :(得分:1)
当您在Facebook App dashboard
中添加网站时,它基本上是您将使用Facebook登录的提供域,并且您在代码中提供的redirect_uri
应位于与您在Facebook App Settings中提供的域名相同。
所以说,我想在www.abc.com
上托管我的应用程序,我需要在website with Facebook login
的Facebook App仪表板上注册此域名,然后您可以传递任何redirect_uri
{ {1}},我想要将用户重定向到oauth
以处理Facebook传递的www.abc.com/facebook_redirect
参数,因此当用户授权我的应用时,他将被重定向到code
用于CSRF保护的www.abc.com/facebook_redirect
和code
,因此我需要从URL中获取此代码并将其交换为state
并检查CSRF攻击。