#c# #asp.net-web-api
#c# #asp.net-web-api
Вопрос:
Я только что прошел проверку подлинности JWT и попытался создать ее в своем тестовом проекте, я мог видеть, что он генерирует ответ, когда я выполняю пошаговую отладку, но в моем ответе Json я получаю несколько другой результат.
Не уверен, что я пропустил.
Мой пример кода ниже
Возвращаемые атрибуты
public class UserWithToken : User
{
public string Access_Token { get; set; }
public string Refresh_Token { get; set; }
public UserWithToken(User user)
{
this.UserId = user.UserId;
this.EmailId = user.EmailId;
this.FirstName = user.FirstName;
this.MiddleName = user.MiddleName;
this.LastName = user.LastName;
}
}
и вот мой веб-API
[HttpGet]
[AllowAnonymous]
public UserWithToken AuthenticateUser(string email, string pwd)
{
//First Validate the User
User appUser = new User();
TokenManager tokenManager = new TokenManager();
appUser = appUser.GetUserDetail(email, pwd);
if (appUser != null)
{
UserWithToken userToken = new UserWithToken(appUser);
string JsonToken = tokenManager.GenerateToken(appUser);
userToken.Access_Token = JsonToken;
userToken.Refresh_Token = "";
return userToken;
}
return null;
}
но я мог видеть, что он генерирует токен, и во время отладки я мог видеть, но при возврате в нем все по-другому. Я использую Postman для отладки
{ «$id»: «1», «userId»: 1, «EmailId»: «abc@gmail.com «, «FirstName»: «Mohan», «MiddleName»: «», «LastName»: «Chandra», «EntityKey»: null }
что такое $ id, я не знаю, и почему он не показывает атрибуты access_token и refresh_token.
Заранее спасибо.
Комментарии:
1. Вы установили точку останова и выполнили пошаговый код, чтобы увидеть значения?
2. Да, получаю токен, и когда я вижу в quick watch, он показывает access_token, но, наконец, в ответ в Postman он не отображается. он отображается здесь, под строкой, при отладке строки JsonToken = tokenManager. generateToken (AppUser); UserToken. Access_Token = JsonToken;
3. Возможно, вы используете json ignore или что-то подобное в своей модели или объектах DTO.
4. Что такое
User
класс?