Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 关于facebook SDK的问题_C#_Asp.net Mvc_Asp.net Mvc 3_Facebook C# Sdk - Fatal编程技术网

C# 关于facebook SDK的问题

C# 关于facebook SDK的问题,c#,asp.net-mvc,asp.net-mvc-3,facebook-c#-sdk,C#,Asp.net Mvc,Asp.net Mvc 3,Facebook C# Sdk,我正在考虑使用facebook SDK,我想知道首先我应该使用什么版本 从4.2版到5版(目前仍处于beta版)似乎发生了一些重大变化。我应该继续使用测试版吗?有人有没有IDE,它什么时候会出测试版 我的第二个问题是如何使用它进行身份验证 现在我正在使用DotNetOpenAuth为我的站点进行所有openId身份验证。我正在使用facebook身份验证插件(oAuth),但是我计划在我的网站上使用更多的facebook功能,所以我认为使用这个插件,然后是sdk库是没有意义的,因为库似乎可以完成

我正在考虑使用facebook SDK,我想知道首先我应该使用什么版本

从4.2版到5版(目前仍处于beta版)似乎发生了一些重大变化。我应该继续使用测试版吗?有人有没有IDE,它什么时候会出测试版

我的第二个问题是如何使用它进行身份验证

现在我正在使用DotNetOpenAuth为我的站点进行所有openId身份验证。我正在使用facebook身份验证插件(oAuth),但是我计划在我的网站上使用更多的facebook功能,所以我认为使用这个插件,然后是sdk库是没有意义的,因为库似乎可以完成这一切

Anways如何使用sdk库进行身份验证。我想在我的登录页面上有一个按钮,他们点击它就会进入facebook。他们通过身份验证,我收到一些请求,说他们通过了身份验证,然后我给他们一个cookie,让他们进去

我看到的所有教程都表明,你只是使用facebook作为唯一的身份验证方法,但对我来说,我当然有openId、facebook和twitter


关于4.2版和5.0版的BETA版,我想您需要决定是使用BETA版还是稳定版。我确信他们的BETA版中有一个变更日志,您可以查看自较旧版本以来的变更

关于使用Facebook进行身份验证。我有一个项目,我支持标准表单身份验证和帐户创建以及Facebook登录。在我的AccountController中,我有一个表单登录操作和一个Facebook登录操作

要配置Facebook程序集,您可以按照发布的教程进行操作,然后您可以在页面上放置Facebook按钮和类似代码以开始身份验证过程:

<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
    $(function () {
        FB.init({ appId: '<%= FacebookSettings.Current.AppId %>', status: true, cookie: true, xfbml: true });

        $('#fbLoginButton').click(function () {
            FB.login(function (response) {
                if (response.session) {
                    // Success - execute our facebook login action.
                    window.location = "<%= Url.Action("FacebookLogin", "Account") %>";
                } else {
                    // user cancelled login or failed
                }
            }, { perms: 'email' });

            return false;
        });
    });
因此,我的想法是将身份验证委托给那些第三方服务,然后在我的系统上创建一个用户,其中包含我可以从他们那里获取的信息。同样在我的项目中,因为我希望用户在创建帐户后设置/设置一些首选项,所以我将他们重定向到他们可以这样做的页面


附:关于在VisualStudio中本地运行web项目的提示。您可以创建“站点URL”设置为例如的私有Facebook应用程序http://localhost:4911/“并使用该appId。这将允许您在本地使用Facebook。

我使用Facebook SDK,我的建议是使用测试版

原因是Facebook正在改变和贬低许多旧的REST接口,并使Graph API成为访问数据的唯一方式。因此,为了证明未来,最新和最伟大的是前进的道路

现在,它是一个测试版,所以一切都不是100%。如果您需要稳定性并且不介意进行更改,请使用稳定版本,然后稍后升级

至于认证

您需要您的authURL:

string authURL = @"https://graph.facebook.com/oauth/authorize?client_id=" + Settings.appId + "&redirect_uri=" + redirectUrl + permissions
其中,
appId
是您的Facebook应用程序ID(您在Facebook注册应用程序时获得该ID),
redirectUrl
是您希望Facebook向您发送质询令牌的URL,您的是您希望使用Facebook身份验证令牌访问的内容列表

您可以创建一个弹出窗口或浏览到该URL的任何内容。用户将登录到facebook(如果他们还没有),然后他们将看到应用程序授权屏幕(如果他们还没有授权应用程序)。一旦他们授权(或者如果他们已经授权,则立即),页面将转发到您提供的
重定向URL
。在URL中,将有一个名为
code
的GET变量,该变量将包含质询字符串。您获取该质询代码,并将其作为查询变量添加到另一个URL,其形式如下:

https://graph.facebook.com/oauth/access_token?client_id=YOURID&redirect_uri=http://www.facebook.com/connect/login_success.html&client_secret=YOURSECRET&code=THATCODE
该URL将返回身份验证密钥

呸!这就是过程。。。。如果手动完成:)现在您对正在发生的事情有了更多的了解,您可以欣赏SDK为您所做的事情

要使用SDK进行身份验证


容易吧?

太宽了。如果不询问5的发布是否使用beta版和eta版,可能会更好。
https://graph.facebook.com/oauth/access_token?client_id=YOURID&redirect_uri=http://www.facebook.com/connect/login_success.html&client_secret=YOURSECRET&code=THATCODE