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. Пример с гитхаба
  • Вопрос задан
  • 359 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
29 сент. 2021, в 04:51
7500 руб./за проект
29 сент. 2021, в 01:41
20000 руб./за проект