问题标签 [owin-middleware]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
41 浏览

asp.net-web-api - 如何对用户进行身份验证和检索?

完成本教程后:

http://bitoftech.net/2015/02/16/implement-oauth-json-web-tokens-authentication-in-asp-net-web-api-and-identity-2/

我现在有直立的解决方案,我可以发出 JWT 令牌(我认为是“登录”)并通过在后续调用期间传入这些令牌来验证请求。

我不清楚的是 [Authorize] 属性是如何:

  1. 将用户识别为已通过身份验证
  2. 从数据库中检索用户
  3. 使该用户可用于我的代码
  4. 如果我愿意,我将如何添加到身份验证过程中(可能在退出逻辑之后包括额外的身份验证逻辑)

[编辑] 我知道 JWT 令牌被用来识别用户,但我不明白这是“如何”发生的。我也了解中间件正在这样做,但它的工作原理尚不清楚。

0 投票
1 回答
55 浏览

ninject - Ninject Alter Binding base on Owin.Context.User.Identy

I need to change ninject binding base on User.Identity.

I have this scenario: base on user Actor claim which I use for my own purpose. I have to inject on my class constructor the value of Claims.Actor, how can I do that?

#xA;

thanks

0 投票
1 回答
1383 浏览

c# - Serilog Owin 中间件

我正在尝试LogContext在 Owin 管道中添加一个简单的扩充

我的记录器配置

我的 Owin 中间件

在日志中,我可以看到该属性B, 2,但看不到A, 1.

我究竟做错了什么?

0 投票
0 回答
47 浏览

asp.net-mvc - ASP.NET Web API - 处理媒体文件授权

我有一个移动应用程序,可以与在 asp.net web api 中实现的支持 api 对话。用户可以从应用程序中发布图片,我将其保存在我的内容目录中。现在用户还可以从应用程序请求相同的 url,并将其直接从 IIS 提供给用户。

我要确保只有上传图片的用户才能获取它。任何其他用户都应该收到 404。

有没有办法可以使用 web api 处理这个问题?我不想在控制器中读取文件并用作 base64,因为这不是有效的方法。我想继续通过 IIS 从内容目录提供图片并在其上应用授权。

有没有人遇到过这个问题?

0 投票
1 回答
1815 浏览

c# - 为什么在 Owin Startup 类中 auth 中间件声明的顺序很重要?

我阅读了一些关于在使用 web api 时在 owin 管道中设置身份验证的示例(1、2、3、4 ,这些示例身份验证中间件声明为 Configuration 方法中的第一个中间件,但没有说明为什么需要这样做第一的。

这个问题中,作者在身份验证中间件之前附加了 webapi 中间件,然后身份验证无法正常工作。当作者将它移到方法的顶部时,一切都按预期工作..

有谁知道为什么需要将身份验证中间件添加为启动配置方法中的第一个中间件?

0 投票
0 回答
131 浏览

owin - Owin/Katana、基本身份验证和 WindowsIdentity

我们正在构建一个在 OWIN/Katana 中自托管的 ASP.NET Web API 2 服务。由于某些安全要求,应用程序使用基本身份验证,这导致 System.Web.Http.ApiController.RequestContext.Principal.Identity 的类型为 HttpListenerBasicIdentity。但我们需要的是 WindowsIdentity/WindowsPrincipal。最好的方法是什么?中间件?还有什么?

0 投票
2 回答
1000 浏览

c# - OWIN OAuth2 中间件在重定向 uri 中带有 %23(# 片段)

我正在使用 ASP.NET OWIN/Katana OAuthAuthorizationServer 中间件并且遇到了障碍。

我有一些网站试图获取授权令牌并创建了一个/oauth/authorize端点。但是,这些请求来自 SPA (Angular),并且通常#在重定向 URL 中有一个片段 ()。

发出请求时,它会将 设置redirect_uri为该 URL,但使用 URL 编码(因此#更改为%23)。但是,每当%23在 URL 中遇到时,状态总是设置为 400,我似乎无法以任何方式阻止这种情况......无法覆盖任何内容,也没有 Web.config 保留错误字符更改等。

因此,我试图用一些占位符替换它,然后重定向回它自己。这工作得很好。但是,我似乎无法撤消我的 URL 更改。我需要将 # 放回 URL 并重定向到该 URL,但是 OWIN 中间件完全忽略了将 URL 更改回的任何尝试...有人有什么想法吗?

0 投票
1 回答
352 浏览

asp.net-core - OWIN、Core 和 B2C - 多重身份

我正在尝试让用户使用本地帐户登录,然后使用社交帐户进行注册以便我可以在自己的数据库中将两者链接在一起。这样,他们以后可以使用 B2C 并使用本地或社交提供商登录,最终在我的系统中使用相同的帐户。

诀窍似乎是安全地将信息从已登录的本地用户(例如我的该用户的数据库 ID)传递到社交提供者的注册过程,以便它可以在新用户的声明中返回。

我考虑将它添加到 AuthenticationOptions 的 RedirectUrl 中,但我无法弄清楚这可能有多不安全。如果该端点受 [Authorize] 属性保护,则用户在调用它之前必须经过身份验证。

将本地用户的数据库 ID 添加到重定向中似乎不安全。即使用户将通过身份验证,被盗的令牌和修改的查询字符串也会喜欢错误的帐户。

有没有办法通过 B2C 流程进行数据往返?

{EDIT} 忘了说这是一个网络应用。本机客户端我了解如何保存令牌。

0 投票
2 回答
5435 浏览

c# - 如何从 OWIN 中间件重定向用户?

我有用于身份验证的中间件,需要按类型区分用户是内部用户还是外部用户。在此之后,我想将外部用户重定向到自定义错误页面,因为他们不应该访问我网站的特定部分。

我想抛出HttpResponseException我的自定义状态代码并通过在 web config 部分customErrors与我的错误页面链接来处理它。但是,我不能以这种方式使用自定义状态代码,并且在我的情况下使用现有代码之一是个坏主意。

老实说,我对 OWIN 中间件还很陌生,我什至不知道要谷歌什么。对于如何解决这种情况的提示,我将不胜感激。

0 投票
1 回答
3301 浏览

asp.net - Can I add a new scoped service within a custom middleware?

I'm using WebApi in Asp .Net Core and I'm wondering if/how I can add a new scoped service that all following middleware and controllers can get access to through dependency injection? Or should I share state with HttpContext.Items instead? That doesn't seem to be what it is intended for since HttpContext isn't available at all in a WebApi-controller?

If neither HttpContext or DI is the right tool for this, then how can I propagate state in the request-pipeline without having it already created from the beginning?