Azure移动服务和Asp.net身份体系结构

时间:2014-09-19 15:27:16

标签: c# azure asp.net-identity azure-mobile-services

我希望有人可以清楚这些事情如何协同工作。

我想成为自己的身份提供者,所以在我的网络API中我有一个OAuth令牌提供者。我希望用户注册我,然后使用我的令牌提供程序进行身份验证。未来的想法是,使用OAuth登录共享用户身份,可以访问更多我的移动应用和网络应用。

那么,如果我使用azure移动服务,我该如何实现正常的asp.net身份? 而且,普通的网络应用程序如何能够使用存储在天蓝色移动服务中的数据?我有两个dbcontexts用于移动设备,一个用于网络吗?

我一直在阅读和观看很多关于天蓝色的东西,但似乎没有任何迹象表明我能做到这一点。其中大部分都与使用facebook,ms,twitter等外部提供商有关。我想成为那些外部提供商之一,只是不知道如何做到这一点,并允许我的网站仍然使用.net身份数据。< / p>

如果你能指出或发布一些很棒的例子/教程/博客。

1 个答案:

答案 0 :(得分:1)

这是一个受支持的方案,虽然目前还没有很好地记录。

Mobile Services .NET运行时构建于ASP.NET Katana authentication middleware之上。移动服务使用LoginProvider基类抽象这些中间件。最近,身份验证模型可以在您的情况下进行扩展。为了让移动服务识别并使用您的身份提供者,您必须创建自己的LoginProvider。

目前有两个例子:

  1. 添加Katana中间件作为身份提供商 - this post
  2. 的一部分
  3. 创建自定义用户名/密码设置 - 教程here
  4. 您当然可以使用这些技术来包装标准的ASP.NET身份功能。

    关于访问数据的问题,有多种方法。您的Web应用程序可以将移动服务视为后端并传递请求。这基本上将Web应用程序视为一个额外的客户端平台,与您的移动应用程序相对应。另一种选择是,正如您所说,创建多个DBContexts。虽然您可能会获得稍微好一点的性能,但这需要代码可维护性权衡。如果您在同一数据后端构建多个Web应用程序,它也不会很好地扩展。