首页 > 解决方案 > 修改 ASP.NET OWIN 管道中的传入请求

问题描述

我们有一个基于静态前端的应用程序和一个托管在单独子域下的 API(例如 web.theapp.com 与 api.theapp.com)。我们最近实现了一个基于 Azure Blob 存储的文档管理组件,API 中包含自定义元数据。下载文件时,我们希望用户访问 API(用于授权检查等),然后被给予/重定向到具有短期 SAS 令牌的 blob 存储 URL。我们已经“完成”了 API 部分,因为我们可以接受请求、执行所有必需的访问检查、创建 SAS 并生成文件的 URL,然后重定向到那里。

但是:对于 API 中的身份验证,当前使用 Bearer 令牌,这显然不适用于通过单击链接产生的 GET 请求。

这类问题有没有好的“goto”解决方案?

我们一直在考虑创建一个页面,上面写着“您的文件在 3...2...1... 内下载”,就像老式托管服务一样,但这感觉有点俗气。我们还考虑添加某种 cookie 方案,因此 API 可以接受使用不记名令牌或 cookie 进行身份验证,但我们未能找到有关如何配置 cookie 身份验证的信息(相关技术堆栈:Azure AD OAuth2 和 ASP .NET Web API 2)。

这类问题有没有好的模式?

标签: c#asp.net-web-apioauth-2.0cookie-authentication

解决方案


推荐阅读