问题标签 [owin-security]
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-mvc - 有没有办法缩短 DpapiDataProtectionProvider Protect 输出?
使用为 Asp.Net OWIN MVC 应用程序提供的模板。我得到一个带有 ForgotPassword 方法的 AccountController,它调用...
经过一番研究,我发现代码受 OWIN 安全保护,使用 DpapiDataProtectionProvider Protect方法。这很好。
让我失望的是返回的代码超长,我不确定我是否做错了,或者是否可以更改一些东西来缩短它。需要注意的一件重要事情是,我正在使用以下代码手动设置 IDataProtector ...
任何帮助将不胜感激!
owin - OWIN 安全 AuthenticationHandler 中的多个 cookie 问题
我正在使用 Facebook Owin 身份验证,或多或少遵循 Microsoft 示例。我或多或少遵循第一次用户登录,一切正常。但是如果他们退出并重试,似乎之前的 .AspNet.Correlation.Facebook 没有被删除,而是设置为空字符串。所以我对 api/getexternallogin 的下一次调用在 Fiddler 中看起来像这样:
这是当我们生成一个correlationId 并且此时有多个cookie 不是一个显示停止器。在响应中,我将其设置为新的 CorrelationId:
稍后当 facebook 回调“/signin-facebook”时,我们尝试在 ValidateCorrelationId 方法中验证相关性 ID。请求看起来像这样:
所以新的 CorrelationId 已经设置,但是没有值的额外 cookie 意味着当我去 Request.Cookies["ValidateCorrelationId"] 时,它返回空字符串。
我检查了代码,似乎修改此 cookie 的唯一方法是 GenerateCorrelationId 和 ValidateCorrelationId。这些方法的实现可以在这里找到:
奇怪的是,我的浏览器似乎没有发现问题:
任何想法将不胜感激。
c# - 当 GrantResourceOwnerCredentials 引用 System.Web.Helpers 时,CORS 不起作用
我有一个简单的(仅用于故障排除)实现OAuthAuthorizationServerProvider
,我在哪里覆盖这样的GrantResourceOwnerCredentials
方法:
第一行启用 CORS,第二行简单地使上下文无效。使用 Chrome 进行测试时,这可以按预期工作 -当我 POST 到令牌端点时,我得到了400(错误请求) 。
但是,当我引入对 的任何引用时System.Web.Helpers.Crypto
,CORS 不再起作用,并且我返回请求的资源上不存在“Access-Control-Allow-Origin”标头。 例如,如果我将上面的内容更改为此,CORS 会失败:
当然,这是我在解决问题时想出的一个人为的例子。在实际的 GrantResourceOwnerCredentials 中,使用 Crypto.VerifyHashedPassword() 会导致完全相同的问题。此外,作为测试,我很快将对 Crypto 的调用封装在另一个类中,但问题仍然存在。
我遇到了一个奇怪的错误吗?任何与此有关的方向将不胜感激。
更新:进一步调查显示,这个问题显然发生在对 System.Web.Helpers 的任何引用。换句话说,它并不特定于 System.Web.Helpers.Crypto 类。
asp.net-mvc - 检查用户是否在 asp.net mvc/angularjs 中请求他自己的页面
我在我的项目中使用带有 angularjs 的 asp.net mvc。如何与对象一起返回一些额外的数据(比如 isOwner 变量)user
?
只有当用户请求他自己的页面时,我才想在视图上显示编辑按钮
这是api控制器:
和 angularjs 控制器:
oauth-2.0 - OWIN OAuth2 Resource Server authentication using ServiceStack
I have created an OAuth 2.0 authorization service using OWIN OAuth 2.0 Authorization Server by following the steps at http://www.asp.net/aspnet/overview/owin-and-katana/owin-oauth-20-authorization-server
I am using the Resource Owner Credentials flow.
My client is an MVC app. I am able to get the access token, etc. from the OWIN Auth server.
However, the resource server is built using ServiceStack and now I am not sure how to authenticate the resource services using the OWIN Auth.
Edit I am using DotNetOpenAuth library in the resource server. However, it requires me to specify the certificate details for signing and encryption. However, I have not specified any certificates in the OWIN auth service. So I am not sure, what I need to do to have DotNetOpenAuth library not require certificates for decoding the access token.
asp.net-mvc - 在 IdentityServer 中获取 FacebookAuthenticationProvider 实例(Owin 应用程序)
我正在进行 Thinktecture IdentityServer 的实现,并且正在增加移动应用程序的能力,以便向服务器提供本机获得的 Facebook 访问令牌,服务器将通过本地身份验证用户来响应。
IdentityServer 使用 Microsoft 的 Owin 中间件进行 Facebook 身份验证。这是它被添加到应用程序的方式:
我想做的,在另一堂课上,叫这个:
但我不知道如何获得FacebookAuthenticationProvider
我需要的实例。或者这甚至是必要的吗?我可以只new
上一个吗?
c# - 注册 IdentityServer3 后自动登录本地用户
使用IdentityServer3在用户完成注册过程后,我需要自动登录并将本地用户重定向回客户端应用程序。有没有一种优雅的方式来做到这一点?从我的挖掘中我怀疑不是,在这种情况下,我可以使用黑客来实现这一目标吗?
我能够使用自定义User Service为外部用户实现这一点,但这使用了部分登录。但是,对于本地用户来说,在他们使用用户名和密码登录之前,他们并不在用户服务处理的身份验证过程中。
另请注意,我无权访问用户密码,因为注册过程包含多个屏幕/视图,因为在这种情况下,作为注册过程的一部分,他们需要验证其电子邮件。
进步:
我找到了这个https://github.com/IdentityServer/IdentityServer3/issues/563但还没有弄清楚如何触发重定向。
我正在尝试使用以下方式发出身份验证令牌:
但到目前为止我能做的最好的是将用户重定向回登录屏幕:
asp.net-mvc - OWIN Cookie Authentication Security
I'm approaching a new project and I am weighing up using MVC5 and Identity thru OWIN.
I am running the scaffolding project for which provides the entity framework user database, register/ sign in etc.. No third party or two factor.
As I currently understand it, OWIN Security is based on the cookie, now, its been a few years since I have dabbled in the Web, BUT I was under the impression that identity and claims should be stored in the session.
I'm inspecting the cookie that is set when a user logs in and various claims are set. I don't actually know what the underlying framework does, and I am struggling to find out:
- are there any technical links? Not about how to implement the interfaces and setup this up, but on the security and best practices.
- What is actually in this cookie and how can I inspect with EditThisCookie what is set? as its encrypted or obfuscated?
- How is this more secure than session?
- If someone, some how got this cookie, could they basically sign in as the same user?
- Does this scale? as normally multiple front ends would talk to the same session server.
.net - 使用 Castle Windsor 注册 OWIN IAuthenticationManager
由于IAuthenticationManager
可以从 OWIN 上下文中检索实现,但 Castle Windsor 的组件注册必须在解析组件之前完成,我如何注册IAuthenticationManager
为组件以在任何地方注入?
AFAIK,我应该使用Component.For<IAuthenticationManager>().UsingFactoryMethod(...)
,但由于我使用的是 OWIN/Katana,所以类似的东西HttpContext.Current.GetOwinContext()
不起作用(如果它起作用,我不想为此添加依赖项System.Web
......)。
现在有什么解决方案?
c# - iis 8 无法加载 owin.Oaut 3.1
当我尝试在 iis 上发布我的 Mvc 应用程序时 * 我在 Owin 上遇到以下异常
这是在 Web.config 文件中
当我通过 Nuget 升级我的 Owin 时会发生这种情况。对这个问题有任何帮助吗???