ASP.NET身份和移动客户端

前端之家收集整理的这篇文章主要介绍了ASP.NET身份和移动客户端前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
最新版本的ASP.NET包括新的身份验证框架ASP.NET Identity,它应该是所有新的和不久的ASP.NET项目和网站中用户管理的核心构建块.

我已经看到它可以很好地与WebAPI集成,但还没有看到任何集成作为移动客户端设备的身份验证的示例.例如 – 假设我有一个使用Identity实现的ASP.NET网站.现在我想为Windows 8.1和Windows Phone 8构建客户端应用程序.我看到两个主要问题限制了这一点.

首先 – ASP.NET身份显然只发布短暂的身份验证.令牌,这对移动应用程序来说是一个非常糟糕的用户体验.我已经看到了一些创建刷新令牌机制的尝试 – http://leastprivilege.com/2013/11/15/adding-refresh-tokens-to-a-web-api-v2-authorization-server/.这是一个非常好的方法,但看到一个真正内置的解决方案仍然会更有趣.

第二 – 也许更重要 – 外部身份验证提供商支持.在ASP.NET身份网站上,很容易看到通过WebAPI进行身份验证的方法,但我还没有看到这与外部身份验证一起使用.如何获得Facebook,Microsoft和Twitter的身份验证URL以及如何在应用程序内完成身份验证流程?

有没有人有这方面的经验?找到一个完整的演练会很棒,我很乐意用一些赏金点来奖励正确的解决方案:-).

解决方法

问题是安全性很复杂,而且Microsoft的解决方案只针对简单的场景.

此外,你正在使用术语(这增加了每个人的困惑,包括你自己的). ASP.NET Identity管理存储在数据库中的用户凭据.它与需要验证凭据的应用程序类型(移动设备,API,浏览器,桌面等)无关.

Katana中间件允许应用程序验证调用者.有浏览器应用程序的cookie中间件,google,facebook,WS-Fed等的外部中间件,然后是API应用程序的OAuth2.每种工作都根据应用程序的性质而有所不同.其中一些也会相互影响,具体取决于应用程序的要求.

我并不是要选择你 – 这更多的是对微软在他们提供的框架中缺乏教育/文档的抱怨.我想这可以解答你的问题 – 微软没有你要求的东西.它们有点点碎片,但你只需连接它们.

一些可能有用的链接

http://www.asp.net/identity

http://www.asp.net/web-api/overview/security

http://www.asp.net/vnext/overview/authentication

http://brockallen.com/category/owin-katana/

http://leastprivilege.com/category/katana/

http://leastprivilege.com/category/webapi/

HTH

猜你在找的asp.Net相关文章