0

我有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的訪問令牌。

回答

1

這是一個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 
2

你所得到的信息是JSON

你可以反序列化JSON與JavaScriptSerializer對象在C#中的類。

首先,你必須建立代表您的JSON結構的POCO對象:

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; 

請注意,現在您可以像auth令牌一樣訪問響應中的所有屬性。 如果你想獲得你可以使用的索賠字符串;

string claims = deserializedResult.claims;