自定义响应OAuthAuthorizationServer在OWIN

本文关键字:OWIN OAuthAuthorizationServer 响应 自定义 | 更新日期: 2023-09-27 18:15:33

我需要为OAuthAuthorizationServer中的令牌生成生成自定义响应

默认的响应是这样的

{
  "access_token": "***access_token***",
  "token_type": "bearer",
  "expires_in": 119,
  ".issued": "Mon, 31 Oct 2016 11:20:50 GMT",
  ".expires": "Mon, 31 Oct 2016 11:22:50 GMT"
}

如何生成此输出而不是默认输出?

{
  "message": "Token Granted",
  "data": 
    {
      "Token": "***access_token***"
    },
  "messageCode": 200
}

自定义响应OAuthAuthorizationServer在OWIN

这个问题类似于如何在Asp中使用Owin OAuth2修改令牌端点响应体。Net Web API 2

请看我的答案。

此外,您可以解析响应json而不是使用字符串,例如:

public async Task Invoke(HttpContext context)
{
    ...
    // parse json
    var bodyJson = JObject.Parse(bodyString);
    // do something with json inner objects
    bodyJson = ...
    // update the memory stream
    var bytes = Encoding.UTF8.GetBytes(bodyJson.ToString());
    ...
}