【问题标题】:Authorize with Permissions使用权限授权
【发布时间】:2011-03-27 18:31:16
【问题描述】:

我已经使用 Facebook C# SDK 5.0.8 完成了“ASP.NET MVC 3 网站入门”。一切正常。

之后我如何向用户请求额外的权限?

当我执行[Authorize(Permissions = "offline_access")] 时,我得到“System.Web.Mvc.AuthorizeAttribute”不包含“权限”错误的定义。

如果我使用[FacebookAuthorize(Permissions = "offline_access")],页面会重定向到自身,而不会转到 facebook 登录页面。

请帮忙!

谢谢

【问题讨论】:

    标签: facebook-c#-sdk


    【解决方案1】:

    我知道了!

    这是我需要在“登录”操作下请求额外权限的操作:

    var loginUri = oAuthClient.GetLoginUrl(new Dictionary<string, object> { { "state", returnUrl }, { "scope", "offline_access" } });
    

    【讨论】:

    • 如果你需要user_photos和friend_photos,都在scope参数下,你的代码是如何修改的?
    • @Ryan - 在您的所有权限下使用逗号分隔的方法。例如:{ "scope", "manage_pages, publish_stream" }
    【解决方案2】:

    因此 Authorize 属性不是 Facebook C# SDK 的一部分。该示例向您展示了如何将 Facebook 授权与表单授权结合使用。 Authorize 属性不包含名为权限的属性,也不能用于向 Facebook 授权,它正在使用您当前的 ASP.NET 成员资格提供程序检查权限。

    关于 FacebookAuthorize 属性不起作用,那是因为您不能将这两种情况混合在一起。基本上,您阅读的教程向您展示了如何在不使用 Javascript SDK 等的情况下以最简单的方式进行授权。您不应在该教程中使用 Facebook.Web 或 Facebook.Web.Mvc 中的任何内容,因为它们不是为工作而设计的使用表单身份验证。

    我建议您看看其他一些示例。 Y它们将帮助您开始处理一些更常见的场景,例如请求额外权限。

    【讨论】:

    • 谢谢内森!可能只有我一个人,但我无法从从站点下载的示例文件夹或站点的文档部分下找到任何有关 MVC 身份验证的示例。网站上有一个“身份验证示例”页面,但它是空的。是否可以将我引导到几个示例页面?非常感谢
    • 我刚刚发布了另一个教程。你应该看看它,我认为它是你需要的更多。 bit.ly/dSeX8I
    猜你喜欢
    • 1970-01-01
    • 2017-09-28
    • 2020-06-15
    • 1970-01-01
    • 2022-08-24
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多