繁体   English   中英

获取访问令牌

[英]Getting Access token

我有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反序列化为对象。

首先,您必须构建一个表示您的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;

这是一个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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM