小编Bro*_*enZ的帖子

在WebAPI中的查询字符串中传递和验证OWIN承载令牌

简短版本:我需要传递并验证OWIN方位标记作为查询参数而不是请求标头.

然后,我如何根据该标记字符串获取授权方法?

背景:我想调用webapi方法将文件作为流下载(并且永远不希望用户从已知文件位置下载它).

如果我还需要设置自定义Request标头,即承载令牌,我无法使其工作.

我应该能够在查询字符串中传递令牌 - 但不知道如何获取该令牌然后对用户进行身份验证.

我需要过滤吗?我需要特殊索赔吗?webapi方法是否需要包含"access_token"作为函数参数之一?

asp.net-web-api owin

15
推荐指数
2
解决办法
1万
查看次数

WebApi 与 Odata NextPage 和 Count 未出现在 JSON 响应中

我有一个 webapi 方法,我想打开 oData 分页等。我按照http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/supporting-odata-query-options中的示例进行操作

我的方法如下所示:

public PageResult<UserViewModel> GetUsers(ODataQueryOptions<UserViewModel> options)
{
    var settings = new ODataQuerySettings()
    {
        PageSize = 2
    };

    var results = UserLogic.GetUsers(userId, UserManager, _db);
    var filtered = options.ApplyTo(results, settings);

    var pagedResult = new PageResult<UserViewModel>(
        filtered as IEnumerable<UserViewModel>,
        Request.GetNextPageLink(),
        Request.GetInlineCount());
    return pagedResult;
}  
Run Code Online (Sandbox Code Playgroud)

计数已填充,下一页链接在那里,并且应用了正确的 oData 选项,即排序顺序等。当我在 api 方法中返回它时,会返回正确的数据,但计数和下一页链接不会出现在我的 json.

我是否缺少打开此功能的设置?

即这是我的 json 响应:

HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.0
X-RequestID: b215962b-6a4a-431d-9850-7ecbf808538e
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?QzpcUmVwb3NpdG9yaWVzXEdpdEh1YlxxbGRyYS1wb3J0YWxccWxkcmEtcG9ydGFsLldlYlxxbGRyYS5iYXNlbGluZS5hcGlcYXBpXHVzZXJz?=
X-Powered-By: ASP.NET
Date: …
Run Code Online (Sandbox Code Playgroud)

json odata asp.net-web-api

5
推荐指数
1
解决办法
3648
查看次数

标签 统计

asp.net-web-api ×2

json ×1

odata ×1

owin ×1