Я пытаюсь подключить веб-сайт, который я создаю для FitBit, используя ASP.NET 5 (rc1-final), Identity и MS.AspNet.Authentication. OAuth. Я намерен использовать поток полномочий авторизации для OAuth 2.0. У меня есть приложение настройки (подробности ниже) на FitBit, и мой Startup.cs выглядит следующим образом:401 Неавторизованный при использовании общего промежуточного программного обеспечения OAuth с ASP.NET 5
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, но когда я щелкаю Авторизовать , я поздоровался со страницей ошибки DEV 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 конечные точки (а именно Yahoo) они не любят Localhost. Итак, я попробовал это как с localhost, так и с изменением моего хост-файла в другом домене. Я гарантировал, что URL-адрес перенаправления, который я передаю, является тем, что зарегистрировано для приложения в FitBit.
Эта ошибка исходит с моего сайта и проходит до такой степени, что она меняет код для токена доступа. У меня есть скрипач, я немного потерял, куда идти отсюда. Я работаю на http (так как это локальный dev, и у меня пока нет сертификата ssl), но я не был полностью уверен, что это важно.
Стоит отметить, что RC2 будет делать ошибки HTTP проще отлаживать;) – Pinpoint