我正在嘗試使用ASP.NET 5(rc1-final),Identity和MS.AspNet.Authentication將我構建到FitBit的網站連接起來。 OAuth中間件。我打算使用OAuth 2.0的授權授權流程。我發現應用程式FitBit成立(詳情如下),和我的Startup.cs樣子:401未經授權,在ASP.NET 5中使用通用OAuth中間件
app.UseIdentity();
app.UseOAuthAuthentication(options =>
{
options.AuthenticationScheme = "FitBit-AccessToken";
options.AuthorizationEndpoint = "https://www.fitbit.com/oauth2/authorize";
options.TokenEndpoint = "https://api.fitbit.com/oauth2/token";
options.SaveTokensAsClaims = true;
options.CallbackPath = new PathString("/signing-fitbit-token/");
options.ClientId = "[MY ID STRIPPED OUT]";
options.ClientSecret = "[MY SECRET STRIPPED OUT]";
options.DisplayName = "FitBit";
options.Scope.Add("activity");
options.Scope.Add("heartrate");
options.Scope.Add("location");
options.Scope.Add("nutrition");
options.Scope.Add("profile");
options.Scope.Add("settings");
options.Scope.Add("sleep");
options.Scope.Add("social");
options.Scope.Add("weight");
options.AutomaticAuthenticate = true;
});
當我點擊登錄按鈕,我直接就FitBit授權頁面,但是當我點擊授權,我迎接與ASP.NET開發錯誤頁:
An unhandeled exception occurred while processing the request.
HttpRequestException: Response status code does not indicate success: 401 (Unauthorized)
System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
我看過here,與一些OAuth的端點(即雅虎),他們不喜歡本地主機。所以,我用localhost嘗試了它,並將我的主機文件修改爲不同的域。我已確保我傳入的重定向網址是在FitBit中爲應用程序註冊的內容。
這個錯誤來自我的網站,並且正在接近它交換訪問令牌代碼的地步。我有提琴手打開我有點失落,從哪裏去。我在http上運行(因爲這是本地開發,我還沒有ssl證書),但我不完全確定這是否重要。
值得一提的是,RC2將HTTP錯誤更易調試;) – Pinpoint