c# - OWIN 中 OAuthAuthorizationServer 的自定义响应

标签 c# asp.net oauth-2.0 owin katana

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

默认的响应是这样的

{
  "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
}

最佳答案

这个问题类似于How to modify token endpoint response body with Owin OAuth2 in Asp.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());
    ...
}

关于c# - OWIN 中 OAuthAuthorizationServer 的自定义响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40338425/

相关文章:

c# - 检查身份验证票过期而不影响它

c# - 试图让 ninject 和 signalR 正常工作

ios - 无法找到在 Swift 中使用 Google 客户端库的用户的 serverAuthCode

c# - 在 C# 中定义泛型类型的显式转换

c# - "BeginSession"方法未被调用或未成功 - QBFC SDK12 和 ASP.NET 网站

c# - 导出到 Excel 在 SSL (https) 下的 IE 上不起作用

c# - 是否可以将 Microsoft.Extensions.Configuration 库与 ASP.NET 5 集成?

api - Google OAuth 2.0 API是否有速率限制?

python - 谷歌云 - oauth2client.client.HttpAccessTokenRefreshError : invalid_grant

c# - 无法从 WebException 获取 ResponseStream