@justslipknot

Аутентификация через ВК в asp.net core web api. Как правильно реализовать?

Я пишу приложение. Серверная часть представляет собой web api на asp.net core, а клиентская это vuejs приложение. Передо мной стоит задача реализовать вход пользователя на сайт через ВКонтакте.
На бэкенде используется пакет AspNet.Security.OAuth.Vkontakte.
ConfigureServices

public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication()
        .AddVkontakte(builder =>
        {
            builder.ApiVersion = "5.130";
            builder.ClientId = Configuration["ClientId"];
            builder.ClientSecret = Configuration["SecureKey"];

            builder.AuthorizationEndpoint = "https://oauth.vk.com/authorize";
            builder.TokenEndpoint = "https://oauth.vk.com/access_token";

            builder.Scope.Add("friends");
            builder.Scope.Add("offline");
        });
    services.AddControllers();
    services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new OpenApiInfo { Title = "WeAgree", Version = "v1" });
    });
}



Не понимаю, как правильно реализовать логику аутентификации пользователя.
Как правильно передать запрос на аутентификацию с фронтенда на сервер и как сообщить фронтенду, что всё прошло успешно или же наоборот ?
  • Вопрос задан
  • 362 просмотра
Пригласить эксперта
Ответы на вопрос 1
Генерите jwt токен на стороне сервера.
Дальше этот токен vue хавает в local.storage и в http интерцепторе постоянно кладет данный токен в запрос. Хэндлер на коре, каждый запрос прослушивает и проверяет вложенный токен от клиента на валидность. Выбрасывает стандартные ошибки 400 и 401, если токен не валидный либо уже умер по таймуту.
Все довольно стандартно.

В целях самообучения, реализуйте аутентификацию при помощи вашего апи, и вашего логина пароль, без использования вк апи. Как только все будет работать, тогда подключайте вк апи.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы