使用Azure在移动应用中创建用户登录名的最佳方法

时间:2019-03-06 09:40:20

标签: azure authentication xamarin.forms

我正在使用Azure创建Xamarin.forms移动应用程序。我已在Azure中启用身份验证/授权以保护后端中的API。

我需要的是让用户登录Facebook或Google并获取用户的一些信息(例如姓名,电子邮件和...),然后将此数据作为用户信息保存在表中。我只想问用户一次登录并获取数据,我不需要保留例如Facebook提供的令牌并始终刷新它(Facebook不支持红色刷新),但也需要保留用户登录并可以安全访问后端API。我是新手,对使用Azure AD,facebook和...完全感到困惑。

做到这一点的最佳方法是什么?我已经遵循this教程,现在能够使用Facebook登录。

1 个答案:

答案 0 :(得分:0)

也许您正在寻找的是Azure AD B2C(企业对客户),它将提供使客户可以为您的应用程序创建帐户的功能,还可以使用Facebook(请参见here)或Google登录(请参阅here)。

由于Azure AD B2C实现了OAuth2,因此应该可以通过Xamarin.Auth将其集成到Xamarin.Forms应用程序中(请参见here)。获取OAuth2令牌后,您就可以在类型为Authorization的{​​{1}}标头中的HTTP请求标头中包含该令牌(请参见here

Bearer

然后在服务器端可以验证令牌。我尚未将Xamarin.Auth与Json Web Tokens(JWT)一起使用,但是也许您将能够使用Xamarin.Auth检索JWT,您将可以自己对其进行验证。否则,如果Xamarin.Auth被限制访问令牌,则可能必须联系身份验证服务器以验证令牌。如果令牌验证成功,则可以授予用户访问权限,否则,请使用401回答他们。