【问题标题】:Azure Mobile Services Custom AuthenticationAzure 移动服务自定义身份验证
【发布时间】:2015-04-15 10:03:14
【问题描述】:

我正在考虑通过 Azure 移动服务向我现有的 Xamarin.Forms 应用添加自定义身份验证。目前,我的应用程序根据现有的 WebAPI 对自身进行身份验证,但身份验证并不安全,我真的不想开始尝试为生产创建自己的安全身份验证过程。我认为 Azure 移动服务将是一种能够保留我的应用程序的自定义身份验证方面的好方法(不能针对当前身份提供者进行身份验证)但是我已经在现有 SQL 中设置了所有存储等首先将数据库发送到 WebAPI,然后保存详细信息。

我想我的问题是:是否可以使用我当前的 WebAPI 作为一种中间人来设置 Azure 移动服务?基本工作流程包括我的应用程序将登录详细信息发送到 WebAPI,WebAPI 将这些信息传递给 Azure 移动服务进行身份验证,然后在存储在 WebAPI 端后将响应(包括令牌)返回给应用程序。

我认为 Azure 移动服务是一个不错的选择的原因是它还支持推送通知以及自定义身份验证方面。

谢谢。

【问题讨论】:

    标签: c# azure-mobile-services xamarin.forms


    【解决方案1】:

    查看以下自定义身份验证:https://adrianhall.github.io/develop-mobile-apps-with-csharp-and-azure/chapter2/custom/

    短版 - 是的,这是可能的。您可以创建一个自定义 WebAPI,在您的 Azure 移动应用 SDK 中铸造一个 ZUMO 令牌。在该铸造过程中,您可以根据需要以任何方式检查用户凭据(令牌、远程 API 或其他)。

    【讨论】:

      【解决方案2】:

      我不确定这是否可能。您正在尝试通过两个不同的应用程序进行身份验证。可以在您的 Web API 应用程序中编写移动服务客户端登录代码,以使用来自移动服务应用程序的身份验证并取回令牌。但是,您仍然需要管理 Xamarin 应用程序和 Web api 应用程序之间的用户会话、跨源内容等,

      由于移动服务应用程序确实是一个包含一些额外功能的 Web api,您是否考虑过将您的 Web api 应用程序迁移到移动服务?在我看来,这可能更容易。

      【讨论】:

        【解决方案3】:

        是的,这是可能的。 在我们的应用程序中,用户可以使用 twitter 和 Facebook 注册和登录,但也可以使用自己的电子邮件 + pw。 在 wams 中,我们同步社交帐户和“我们的”帐户(存储在数据库中)。

        查看ClaimsIdentity 和 Microsoft.WindowsAzure.Mobile.Service.Security IServiceTokenHandler 以实现自定义身份验证并返回自定义令牌。

        【讨论】:

          猜你喜欢
          • 2014-03-12
          • 2015-10-01
          • 2015-10-06
          • 1970-01-01
          • 2014-10-10
          • 1970-01-01
          • 1970-01-01
          • 2017-04-27
          • 1970-01-01
          相关资源
          最近更新 更多