2013-06-05 117 views
0

的OAuth的模板,我試圖讓Facebook的客戶端的訪問令牌當用戶與asp.net的OAuth模板登錄。但是當我嘗試了一些我在互聯網上找到的方法時,我無法獲取訪問令牌;獲得訪問令牌數據從Asp.net

AuthenticationResult result = OpenAuth.VerifyAuthentication("RegisterExternalLogin.aspx");     
string actok = result.ExtraData["accesstoken"]; 

這次嘗試並不成功。我如何獲得訪問令牌?

回答

1

我看沒有人回覆了你的問題,即使它已經10天,以便我會在它採取刺傷。

您剛纔說您正在使用asp.net的OAuth模板。所以我覺得你看行

AuthenticationResult result = OpenAuth.VerifyAuthentication("RegisterExternalLogin.aspx"); 
在AccountController.cs

的ExternalLoginCallback()動作

至於我可以告訴你的語法是正確的。事實上,我自己也測試過它,它工作。我想你可以嘗試訪問相同的屬性

String myaccesstoken_value1 = result.ExtraData.Values.ToArray()[5]; 

這會給你同樣的結果result.ExtraData [「的accessToken」]

的另一種方式。如果不工作,要麼然後我會想象身份驗證本身存在一些問題,而不是您的語法。我假設你有VS2012 Express,所以使用調試器來查看你的變量'結果'中出現了什麼值。如果爲空的話,那就說明你第二條語句出現了錯誤,它也將表明,在代碼中的一個問題,你走到這一步了。

也請記住測試一個當您登錄到使用OAuth提供者如Facebook您的應用程序,甚至當你退出該網站的過程中,你繼續保持登錄到Facebook上。你實際上必須去facebook.com,並在那裏點擊註銷(除非你在asp.net應用程序中寫一些額外的代碼來做遠程註銷)。我不知道這是否適用於你的情況,只是給你一個頭。

請投票,如果這有助於。