簡體   English   中英

獲取Facebook登錄回調C#

[英]Get Facebook Login Callback C#

當我嘗試轉到從服務器應用程序(通過使用FacebookClient.GetLoginUrl)獲取的登錄URL時,在其中將回調URL指定為:

http://example.org:8080/login_success

在該目標上運行有一個HTTP Server(mydomian.com:8080),當我登錄到Facebook並授予嘗試訪問以代表我使用Facebook的應用程序的訪問權限后,該HTTP服務器通過重定向接收請求...

問題是我在服務器上收到的GET請求,是否RawUrl = login_succes? 但完全沒有數據。 沒有QueryString,沒什么...

因此,當我進入loginUrl時,我得到了facebook.com/dialog/oauth的提示,該用戶希望我登錄並授予對請求訪問權限的應用程序的訪問權限。 到現在為止還挺好。 然后,成功登錄后,應將我重定向到loginurl中指定的RedirectUrl,這似乎很好。 問題是我在RedirectUrl目標收到的GET請求中沒有得到任何令牌或任何東西,並且由於HTTP Server響應為200 OK,因此授予訪問權限的客戶端現在看到:

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

我錯過了什么?? 我期望此access_token,到期值和服務器端代碼,並且不會在客戶端瀏覽器的URL字段中顯示。

您可以通過登錄對話框的response_type參數指定所需的答案類型。

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

如果將其設置為token ,那么您將在URL中將訪問令牌作為哈希片段獲得-這是針對客戶端應用程序的。

如果將其設置為code ,則將返回一個code參數,然后可以通過服務器端請求交換訪問令牌。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM