获取Facebook登录回调c#

本文关键字:回调 登录 Facebook 获取 | 更新日期: 2023-09-27 18:13:03

当我试图去登录URL,我从我的服务器应用程序(通过使用FacebookClient.GetLoginUrl),我指定一个回调URL为:

http://example.org:8080/login_success

有一个HTTP服务器在该目标(mydomian.com:8080)上运行,在我登录到facebook并授予访问试图代表我使用facebook的应用程序的权限后,通过重定向接收请求…

问题是,GET请求我收到我的服务器上,得到RawUrl = login_succes?但根本没有数据。No QueryString, No nothing .

所以当我到达loginUrl时,我得到facebook.com/dialog/oauth的提示,他希望我登录并授予请求访问的应用程序的访问权限。到目前为止一切顺利。然后,当成功登录时,我应该被重定向到loginurl中指定的RedirectUrl,这似乎很好。问题是我在RedirectUrl目标处收到的get请求中没有得到任何令牌或其他东西,并且由于HTTP服务器响应200 OK,授予访问权限的客户端现在看到:

example.org:8080/login_success?#access_token=someaccesstokenvalues&expires_in=xxxxx&code=averylongcodestring

我错过了什么?我期望这个access_token、过期值和代码在服务器端,而不是在客户端浏览器的URL字段中呈现。

获取Facebook登录回调c#

您可以通过登录对话框的response_type参数指定您想要的答案类型。

https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow登录

如果它被设置为token,那么你将获得访问令牌作为URL中的哈希片段-这是为客户端应用程序。

如果它被设置为code,那么你将得到一个代码参数,然后你可以通过服务器端请求交换访问令牌。