问题标签 [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.
asp.net-web-api - 带有 IdentityServer3.AccessTokenValidation 的 .Net 核心上的 WebAPI 2.2 抛出 NullreferenceException
我很难让这个工作。目前我已经有一个 IdentityServer4、一个 Angular2SPA 和一个用于 ODATA 运行的 WebAPI 2.2。所有服务都在 asp.net core 上的单个项目中运行。
- 身份服务器4
- Angular2SPA
- WebAPI2.2 .core 针对.Net462
只要我不尝试将 WebAPI 连接到 IdentityServer,它就可以正常运行。我已经验证了我的设置,除了 WebAPI,可以正常工作。我还通过将 WebAPISample 与我的 IdentityServer 连接,在 Github 上使用 IdentityServer3.Samples 测试了 WebAPI 连接配置。
网络API
启动.cs
OwinExtensions.cs
WebAPIConfig.cs
例外
只要禁用 oauth,WebAPI 就会按预期工作,启用后它会在启动时引发以下异常:
我也尝试过启用 delayLoadMetadata 但这会引发以下异常:
我认为这个问题可能与 ILoggerFactory 的 .Core/Owin 依赖注入有关。可能是这两者之间的寿命问题?
asp.net-web-api - OWIN - 清除无效的 WSFederation cookie
我使用 ADFS cookie 身份验证实现了一个 ASP.Net Web API 2 项目,并将其托管在 IIS 上。一切正常。
但是,一些客户端的旧 cookie 由于配置更改而变得无效。调用我的 API 时,此类 cookie 会导致以下错误:
显而易见的解决方法是清除 cookie。但是,我以后可能会再次更改 cookie 配置,所以我想从 API 中自动清除所有无效的 cookie。
我尝试添加自定义 OWIN 中间件并覆盖IExceptionHandler
.
这是我的 WIF 配置:
这是我的Startup
课:
无论 and 里面有什么CryptographicExceptionHandler
,ClearInvalidCookiesMiddleware
他们的代码都不会被调用,我得到 500 错误。ClearInvalidCookiesMiddleware
我之前也试过动UseWebApi
。
我的目标是添加Set-Cookie
响应标头以清除无效的 cookie 并返回 401 或重定向。
在这种情况下,如何让 OWIN 自定义响应?
asp.net-mvc - 为 autofac 中间件使用管道阶段标记
我在 autofac 中注册了每个请求的生命周期中间件(它有一些依赖项)
然后我在 startup.cs 注册所有 autofac 中间件
我可以为在 startup.cs 中注册的中间件设置管道阶段,例如
我怎样才能为某个自动注册的中间件做到这一点?
asp.net-mvc - 命令行中的 OwinHost.exe - 如何使其在不同的端口上启动?
是的,我在谷歌上看过这个看似简单的问题,但运气不佳。
所以我的项目包括 OwinHost (OwinHost.exe) NuGet 包,这已经更新了我的项目,允许 Visual Studio IDE 通过属性页使用任何 url:port 专门启动 OwinHost.exe在“Web”选项卡上指定.. .. 但由于这目前正在出错并在我看到错误之前关闭 cmd 窗口.. 我想我会尝试手动运行 OwinHost.exe ......
我知道如何访问cd
我的 Web 项目的bin
文件夹,然后调用相应的包子目录OwinHost.exe
以使其开始侦听 Web 请求。但是,它监听端口:5000
,我想改变它。
asp.net - 带有 OpenIdAuthentication 的 ASP.NET:如果未授权,则重定向到 url
我正在尝试编写一个使用混合身份验证方案的 ASP.NET 应用程序。用户可以将其用户名和密码哈希存储在 UserStore 中,也可以通过 Azure Active Directory 进行身份验证。
我已经创建了如图所示的登录表单。它具有标准UserName
和Password
输入,还具有“通过 Active Directory 登录”按钮。
这很好用。
现在解决问题:应用程序的主页具有该[Authorize]
属性。
如果用户未登录,我希望它重定向到页面Account/Login
,允许用户选择身份验证方法。
一旦我添加IAppBuilder.UseOpenIdConnectAuthentication
到管道设置中,它就不再重定向到该页面。相反,它直接进入 Microsoft 登录页面。
如何配置它以便 OpenID 身份验证成为系统的一部分,但允许我指定在用户未通过身份验证时如何执行重定向?
这是我设置管道的代码:
当您单击“Active Directory 登录”时,它会发布到“Account/SignInWithOpenId”
asp.net-mvc - 如何根据请求创建 OWIN 中间件
我正在实现一个自定义 owin 中间件以CSP
在响应标头中添加标头(内容安全策略)。为了CSP
工作,中间件需要为每个请求创建一个唯一的 nonce 值。所以我有NonceService
它创造了 nonce 价值。自定义 OWIN 中间件依赖于 NonceService。
但是我的问题是我无法为每个请求注册自定义中间件。
当我调试时,我注意到 OWIN没有为每个请求创建自定义中间件的新实例,因为所有请求都使用了相同的 nonce 值。
下面是我的代码
随机数服务
OWIN 中间件和扩展
我使用 Unity 作为容器,所以我使用注册 INonceServicePerRequestLifetimeManager
我在 startup.cs 中向 OWIN 注册了我的自定义中间件
注意 如果无法创建每个请求的 OWIN 中间件,那么至少我应该如何将每个请求的 NonceService 新实例传递给中间件。
c# - 如何在 Owin 中间件中将 openid 连接响应作为片段处理?
我正在开发一个受旧版 openid 连接服务器保护的 Web 端点,客户端网站 ( startup.cs
) 上的配置如下:
我有义务仅设置response_type
为令牌id_token
。
在请求受属性保护的端点后[Authorize]
,我正确地被重定向到授权服务器,该服务器为用户提供登录表单。
用户登录后,授权服务器会向客户端网站返回一个带有令牌和令牌302
的片段。access
id
例子:
我从 openidconnect 中间件(Web 客户端)收到错误消息:
OpenIdConnectAuthenticationHandler:message.State 为 null 或为空。AggregateException:未处理的远程故障。...(OpenIdConnectAuthenticationHandler:message.State 为空或为空。)
错误很明显,它确实找不到状态参数,因为它不再在查询字符串中,而是在片段中。但是,我明确地将其设置为期望片段中的响应。即使这不起作用,我也设置了一个选项来跳过状态验证,但它也不起作用。
我错过了什么?
asp.net - 不会为所有请求调用 OWIN 中间件
我正在尝试在all
请求的响应标头中添加内容安全策略标头。所以我创建了 OWIN 中间件
然后为每个请求调用我的中间件,我按照这里before PostResolveCache
的建议在 startup.cs 阶段标记中注册我的中间件
但是,我的中间件仅被实际页面或任何 ajax 请求调用,当浏览器向 javascript、CSS 或图像发出请求时,它不会被调用
如何为所有请求调用自定义中间件?如果不是 OWIN 中间件,那么在 asp.net 中为所有请求添加标头的选项是什么
c# - OWIN/Katana 中间件经典 asp 页面跳过管道
我在 mvc 4.5 之上构建了一个经典的 asp 应用程序,我试图拦截对经典 asp 页面的调用,看起来我无法做到这一点。关于如何的任何想法。不知道如何让中间件拦截这些请求。看起来像这样Can't find method app.UseStaticFiles()类似,但他们使用的是模块。我希望能够使用中间件。
有什么想法吗 ?
添加startup.cs