【问题标题】:.net Facebook redirect handler not working if not in root of site如果不在站点的根目录中,.net Facebook 重定向处理程序不起作用
【发布时间】:2011-12-09 09:03:31
【问题描述】:

我有一个使用 C# 和最新的 Facebook SDK 5.xyz 在 /net 中开发的 Facebook 画布应用程序 当我让应用程序运行一个所有文件都在根目录(http://localhost:81/)上的网站时,一切正常。 现在我不得不移动(调整)我的应用程序以从现有网站的子目录运行(http://localhost:81/MySiteFacebook/) 在 web.config 我有

     <handlers>
  <add name="facebookredirect" path="facebookredirect.axd" verb="*" type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />

但是这种方式不起作用,而授权正在执行我在 url 中看到的重定向:

http://www.facebook.com/dialog/oauth/?scope=user_about_me,publish_stream,email&state=STATEHASHHER&client_id=CLIENTIDHERE&redirect_uri=http://localhost:81/facebookredirect.axd

如果我在重定向 URL 中手动添加子目录并附带:http://localhost:81/MySiteFacebook/facebookredirect.axd

重定向工作正常,它会将我发送到我的注册页面。

鉴于这种行为,我回到我的 web.config 并将 /MySiteFacebook/facebookredirect.axd 添加到处理的“路径”中。

你猜怎么着?它没有将此路径添加到redirect_uri ..? :(

有什么想法吗?请,谢谢。

【问题讨论】:

    标签: facebook redirect facebook-c#-sdk


    【解决方案1】:

    您在错误的位置更改 web.config,您应该在 facebookSettings 中编辑 url,例如:

    <facebookSettings appId = "{app_id}" appSecret = "{app_secret}"
         canvasPage = "http://apps.facebook.com/{canvas_page}/"
         canvasUrl = "http://localhost:81/MySiteFacebook"
         secureCanvasUrl = "https://localhost:81/MySiteFacebook" />
    

    【讨论】:

    • 处理程序在 facebookSettings 部分之外定义。
    • 处理程序在 facebookSettings 部分之外定义,但网站使用的 URL 在 facebookSettings 部分中定义。然后它遵循在 facebookSettings 部分中定义的传递给 FB 的重定向路径。 facebookredirect.axd 处理程序位置相对于画布应用程序的根目录(在 facebookSettings 中定义。)您是否尝试在此处实际更改它?
    猜你喜欢
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-13
    • 2018-01-30
    • 2013-07-21
    • 1970-01-01
    相关资源
    最近更新 更多