1

我在 ASP.NET Web API 中使用 oAuth 2.0。

在刷新令牌提供程序类中,我有这样的代码。

public Task ReceiveAsync(AuthenticationTokenReceiveContext context)
{

    string tokenId = context.Token;

    var protectedTicket = WebApiBusiness.GetProtectedTicket(tokenId);

    if (!string.IsNullOrEmpty(protectedTicket))
    {
        context.DeserializeTicket(protectedTicket);
        var result = WebApiBusiness.RemoveRefreshToken(tokenId);
    }
    else
    {
        context.Response.ContentLength = 200;
        context.Response.ContentType = "application/json";
        var ML_DefaultRes = new ML_DefaultRes()
        {
            ResponseCode = ResponseCodes.TokenInvalidRC,
            APIVersion = apiversion,
            ErrorDescription = ResponseCodes.GetRCDescription(ResponseCodes.TokenInvalidRC)
        };
        string str = JsonConvert.SerializeObject(ML_DefaultRes);
        context.Response.Write(str);
        return;
    }
}

当刷新令牌无效时,我想要 JSON 格式的自定义响应。但不是将内容长度设置为 200,而是仅将内容长度设置为 25,这会导致 JSON 响应无效。

他们有什么方法可以做到这一点吗?

4

0 回答 0