У меня есть C# ASP.NET WebAPI 2.0
проект с несколькими методами для другого сайта .Этот проект WebAPI не имеет никакой аутентификации и возвращает данные JSON
.Первый метод принимает два параметра из website : Email и Password , затем проверяет его в таблице MS SQL и возвращает JSON
( success или неправильно ): если успех , тогда я создаю токен и добавляю токен с user_id в другой MS SQLТаблица.Этот метод возвращает токен , если все в порядке.
[HttpPost]
[Route("api/v1/auth/email-login")]
[ActionName("EmailLogin")]
public IHttpActionResult Postpipeline_EmailLogin([FromBody] PostAuthItem postAuthItem)
{
try
{
int? userId = db.USERS_GetUserId(postAuthItem.Email, postAuthItem.Password).FirstOrDefault();
if (userId == null)
{
return Ok(new
{
Error = "Wrong email or password!"
});
}
else
{
string token = this.GetToken(40);
db.TOKENS_Add(userId, token);
db.SaveChanges();
return Ok(new
{
Token = token
});
}
}
catch (Exception ex)
{
return new System.Web.Http.Results.ResponseMessageResult(Request.CreateErrorResponse((HttpStatusCode)400, new HttpError("Http error! " + ex.Message + " " + ex.InnerException.Message)));
}
}
Теперь авторизация через Google была добавлена на сайт .Поэтому мне нужно добавить новый метод, который будет проверять успешность или неправильную аутентификацию через Google. Веб-сайт Разработчик отправляет мне только access_token примерно так:
Request:
{
"access_token": "ya47.Kdd_KeQ0mQiTzom20dQ6M83742KMYQpkCUqCZv0UbU2CjhMIuxIT5ugRXwIrOUcV-TGbUztMiRDRPzh0INrGgh7gqXyaIfyQAnNMmP0GhXRc6bbanEiPxV7fK9ss"
}
Если есть возможность проверить действительного пользователя Google с этим запросом?