获取访问令牌
本文关键字:访问令牌 获取 | 更新日期: 2023-09-27 18:04:16
我有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的访问令牌。
您得到的信息是JSON
你可以使用c#中的JavaScriptSerializer类将JSON反序列化为对象。
首先,你必须建立一个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字符串
你需要创建一个带有属性的类(claims,auth_token,refresh_token…等)
然后反序列化这个JSON字符串,然后你可以访问token。
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