[英]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.