我确定我在这里遗漏了一些东西,所以希望这里有人可以填补我.
我正在研究.NET 4.5 Web API中的OAuth 2.0实现(我猜是第2版?),我已经实现了一个非常简单的演示,其中我有一个调用一些基本操作的控制台应用程序.我从"/ Token"端点获得一个令牌,然后将其作为"承载"令牌传递回授权头.一切正常.
但是,我所缺少的是它如何不受MITM,重播或其他攻击的影响?如果我只是简单地处理凭证(以令牌的形式),并且它们始终是相同的凭证,那么为了确保没有人只是窃取我的令牌并模仿我,会有什么样的安全性?
不可否认,我也在使用SSL,但这是围绕此建立的唯一安全措施吗?也许我应该使用某种nonce,或者时间戳检查?如果是这样,那么在Web API中如何做到这一点?
无论如何,我确信这里有一个非常简单的解释,所以我很感激这些信息.
另请注意,我在两个Visual Studio 2013 Web应用程序项目中运行两个服务器,这些项目位于不同端口上运行的不同VS 2013解决方案中.我不确定这是否重要,但我想我会提到它.
有没有人碰巧知道是否可以在Visual Studio中开发基于.NET的桌面应用程序,并将HTML5作为前端?
我知道几年前MSDN上的答案似乎没有,但我想知道是否有任何改变.
我知道您可以使用Chrome应用程序开发基于JavaScript的桌面应用程序,但我想知道您是否可以在Visual Studio中完成.NET中的所有操作(除了UI).我也知道我可以用JavaScript编写代码并与.NET Web服务进行对话,但我再一次只想在桌面应用程序中使用它.
我一直在使用使用Web API创建的一些RESTful Web服务将OAuth视为一种身份验证机制.它似乎使用OAuth 2.0.
据我所知,OAuths的主要目标之一是允许对另一个身份提供商(Facebook,Google等)进行身份验证,而无需在系统之间共享密码.但是,如果您只使用内置令牌提供程序,那么使用OAuth是否过度?
也就是说,我需要为存储创建Web服务的系统具有自己的身份,而不是走出系统.我也一直在关注HMAC,但OAuth(通过Web API项目)实现起来要简单得多.
如果在这种情况下不是OAuth,那么HMAC是首选方法吗?
我正在寻找关于如何在多层环境中实现ASP.NET身份2的一些指导.我有一个物理上分离的表示和业务层,但我在Identity中看到的所有示例和示例代码都涉及从表示层到DB使用EF.我没有直接点击数据库,而是将一组WCF服务作为我的业务层(非常典型,我敢肯定).我很擅长在底部使用EF作为ORM,但仅限于Web服务,而不是表示层.
我假设最直接的方法是拥有IUser*Store接口的自定义实现,然后这些实现将调用后端Web服务.
这是推荐的方法,还是有不同的方法?这似乎是合适的,因为这似乎是实现自己的自定义用户存储的推荐方法,但是必须实现所有这些接口似乎相当沉重(我知道大多数是可选的,但我需要大部分接口).
我试图找出 ASP.NET Identity 2.1 中两因素身份验证代码的最大值是多少。
我尝试过设置以下内容:
app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(60))
Run Code Online (Sandbox Code Playgroud)
但代码的有效期并不长,所以我想知道这是否是 cookie 本身的过期时间,而不是它包含的代码的过期时间。我想知道根据验证码的生成方式,验证码的持续时间是否存在技术限制。
所有示例都只是坚持 5 分钟,所以我想知道这是否是实际的限制。我在某处读到,除了 5 分钟之外还有额外的 90 秒的时间,所以这似乎是我得到的。
我注意到这个问题(ASP.Net Identity 2, Two Factor Security Code timespan)正在寻求做同样的事情,但没有一个可接受的答案,而且它已经有将近 1.5 年的历史了,所以我想我会从一个限制开始问在我费心尝试根据该答案更改它之前,请先了解一下我的观点。