【问题标题】:UrlRewrite Middleware and Client ApplicationsUrlRewrite 中间件和客户端应用程序
【发布时间】:2017-07-28 19:19:05
【问题描述】:

我什至不确定 url 重写是否适合我的用例,但我感觉它可能(使用 Microsoft.AspNetCore.Rewrite)。我有一个由我的 ASP.NET Core 项目使用 UseStaticFiles() 服务的客户端。同样的项目还在我的启动配置方法中使用了default MVC,路由如下:

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller}/{action}");
});

我的客户端应用程序执行了一个带外调用,该调用接收来自另一个服务的回调,并且该回调包含一个 url/hash 片段,以便客户端应用程序可以处理 url/hash 片段中的任何内容。假设这个服务回复/callback#foo='bar'。

只是更多的上下文,正在发生的事情是我的客户端应用程序正在从 openid-connect 提供程序登录,并且在登录时,发生的情况是您被定向到提供程序,该提供程序将您重定向回您的应用程序哈希片段中的令牌(成功登录时),所以当我的 ASP.NET Core 应用程序收到请求 callback#foo=bar 时,我希望它在 wwwroot 中为我的静态应用程序提供哈希片段,以便我的客户端应用程序可以消费散列片段(即提供者返回的令牌)

【问题讨论】:

  • 我可能遗漏了什么,但这里的问题是什么?
  • 基本上我在浏览器中输入 localhost:5000/callback#foo=bar ,我希望它为我的客户端提供哈希片段,以便我的客户端可以使用哈希片段。相反,我的应用程序 404,因为我没有为端点 /callback 配置控制器。

标签: asp.net-core asp.net-core-mvc asp.net-core-webapi asp.net-core-middleware


【解决方案1】:

看起来您想为来自 wwwroot 的静态文件提供自定义 URL。在这种情况下,你可以这样做

app.Map("callback#foo=bar", subApp => subApp.UseStaticFiles());

【讨论】:

  • 即使foo 和bar 是可变的,这也能工作吗?
猜你喜欢
  • 1970-01-01
  • 2010-09-23
  • 2010-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多