@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" });
    });
}



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

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

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

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