Получение токена доступа
Я имею claims/Auth_token
информация, которая выглядит как
{
"claims": null,
"auth_token": "ABCDEFGHIJKLMNOP==",
"refresh_token": null,
"auth_token_expiration": "2012-09-04T06:59:13.1343331-04:00",
"refresh_token_expiration": "2013-05-01T06:59:13.1343331-04:00",
"token_type": "urn:Test1:Test2:grant-type:trusted_issuer"
}
url=www.testuri.com
Используя это мне нужно создать утилиту, которая выбирает токен доступа URI, используя информацию о претензиях, упомянутую выше.
2 ответа
Информация, которую вы получаете JSON
Вы можете десериализовать JSON в объекты с помощью класса JavaScriptSerializer в C#.
Сначала вам нужно создать объект POCO, который представляет структуру вашего json:
public class ResponseObj
{
public string claims { get; set; }
public string auth_token { get; set; }
public string refresh_token { get; set; }
public DateTime auth_token_expiration { get; set; }
public DateTime refresh_token_expiration { get; set; }
public string token_type { get; set; }
}
После этого вы можете десериализовать его следующим образом и использовать результат для извлечения токена:
string json = "your json string"
ResponseObj deserializedResult = new JavaScriptSerializer().Deserialize<ResponseObj>(json);
string token = deserializedResult.auth_token;
Обратите внимание, что теперь вы можете получить доступ ко всем свойствам в ответе так же, как токен авторизации. Если вы хотите получить строку утверждений, вы можете использовать;
string claims = deserializedResult.claims;
Это строка JSON
Вам нужно создать класс со свойствами (заявки,auth_token,refresh_token... и т. Д.)
Затем выполните деизериализацию этой строки JSON, а затем вы получите доступ к токену.
public class TokenResponse
{
public string claims { get; set; }
public string auth_token { get; set; }
public string refresh_token { get; set; }
public string auth_token_expiration { get; set; }
public string refresh_token_expiration { get; set; }
public string token_type { get; set; }
}
Теперь десериализовать JSON:
JavaScriptSerializer js = new JavaScriptSerializer();
var token = js.Deserialize<TokenResponse>(decodedResponse);
Теперь используйте токен:
string authToken=token.auth_token