我是Xamarin的新手并试图找出身份验证的工作原理。我查看了Azure移动服务,看起来他们有身份提供商(谷歌,推特,微软等)。我使用ASP.NET MVC 5构建了一个Web应用程序。它使用ASP.NET身份框架。目前我们只关心基于表单的身份验证,因此不支持通过twitter / google等进行身份验证。
现在我打算使用Xamarin构建移动应用程序。我以为我会构建REST API,所以我的Xamarin应用程序可以与服务进行通信。我的问题是如何处理身份验证?此外,即使用户重启设备,我也希望保持身份验证。我认为Azure Mobile服务不适合我的场景,但不太确定。我真的很感激这里的一些帮助。谢谢!
答案 0 :(得分:1)
简短版本是基于表单的身份验证适用于网站。您需要创建可以使用的WebAPI。这是“自定义身份验证”,并在此处记录:https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-dotnet-backend-how-to-use-server-sdk/#custom-auth
您创建一个WebAPI,它获取已传递给Forms身份验证的用户名和密码,执行身份验证并生成封装身份验证信息的JSON Web令牌(JWT)。
然后,您的移动应用程序会将JWT作为每个后续API调用的授权提交。这样,您可以将Azure移动应用程序用于移动应用程序的表控制器/访问,并仍然使用相同的身份验证方案。
答案 1 :(得分:0)
让服务器为每个用户生成令牌。尝试登录或通过服务器进行身份验证时返回该令牌。将令牌存储在设备的设置中。每个后续调用都应该在HTTP请求的标头中传递该标记。