makarychev13
@makarychev13
.NET-developer

Почему не работает авторизация через github?

Всем привет. Пытаюсь вручную без использования сторонних фреймворков сделать регистрацию на сайте через соц.сети (ASP.NET Core 2.0). Остановился на гитхабе. Вроде всё делал согласно примерам, но почему-то не получается. Итак, код в Startup.cs

services.AddOAuth("GitHub", options => 
{
     options.ClientId = Configuration["Auth:GitHub:ClientId"];
     options.ClientSecret = Configuration["Auth:GitHub:ClientSecret"];
     //Account/githubLogin2
     options.CallbackPath = new PathString(Configuration["Auth:GitHub:CallbackPath"]);

     options.AuthorizationEndpoint = Configuration["Auth:GitHub:AuthorizationEndpoint"];
     options.TokenEndpoint = Configuration["Auth:GitHub:TokenEndpoint"];
     options.UserInformationEndpoint = Configuration["Auth:GitHub:UserInformationEndpoint"];

     options.SaveTokens = true;

     options.ClaimActions.Clear();
     options.ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "id");
     options.ClaimActions.MapJsonKey(ClaimTypes.Name, "name");
     options.ClaimActions.MapJsonKey("urn:github:login", "login");
     options.ClaimActions.MapJsonKey("urn:github:url", "html_url");
     options.ClaimActions.MapJsonKey("urn:github:avatar", "avatar_url");

     options.Events = new OAuthEvents
     {
         OnCreatingTicket = async context =>
         {
             var request = new HttpRequestMessage(HttpMethod.Get, context.Options.UserInformationEndpoint);
             request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
             request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", context.AccessToken);

             var response = await context.Backchannel.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, context.HttpContext.RequestAborted);
             response.EnsureSuccessStatusCode();

             var user = JObject.Parse(await response.Content.ReadAsStringAsync());
             context.RunClaimActions(user);
         }
    };
});


Весь код свыше полностью отрабатывает без ошибок (проверил отладчиком). Все токены совпадают. Но при попытке перейти на http://localhost:56666/account/githubLogin2 после успешного входа на гитхаб во всплывающем окошке вижу это:
5c79afd146ae3720651680.png

В чём ошибка?
P. S. Всё делал по этим туториалам:
1. www.jerriepelser.com
2. Пример с гитхаба
  • Вопрос задан
  • 457 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы