gpt4 book ai didi

ASP.NET 身份和移动客户端

转载 作者:行者123 更新时间:2023-12-02 11:06:43 24 4
gpt4 key购买 nike

最新版本的 ASP.NET 包括新的身份验证框架 ASP.NET Identity,它应该是所有新的和近期的 ASP.NET 项目和网站中用户管理的核心构建 block 。

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

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

第二个 - 也许更重要 - 外部身份验证提供商支持。在 ASP.NET Identity 网站上,可以非常清楚且轻松地看到通过 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 身份和移动客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22126305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com