使用azure功能在移动应用程序中进行身份验证

2023-12-22

我正在尝试开发一个无服务器后端对于我的 xamarin 应用程序。为此我选择了天蓝色函数。 现在我已经知道了Azure 移动应用程序提供一个SDK为此,我们可以轻松启用验证有以下多种方式 1. Azure Active Directory 2. Facebook 3. Google 4. Microsoft 5. Twitter

现在我想允许在我的应用程序中使用至少其中 2 个登录,但我没有使用 azure 移动应用程序作为后端,而是使用 azure 函数。那么如何使用无服务器实现相同的结果呢?

提前致谢。


AFAIK,当使用 Easy Auth(应用程序服务中的身份验证/授权)时,用户将被定向到{your-app-service-url}/.auth/login/{provider}用于记录服务器管理的身份验证 https://learn.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-dotnet-how-to-use-client-library#serverflow。通过 Web 浏览器与您的 Web 应用程序交互的用户将拥有一个 Cookie,并且他们可以作为您的 Web 应用程序的浏览器保持身份验证。对于其他客户端(例如移动客户端),JWT 将包含在x-zumo-auth标头,移动应用客户端 SDK 将为您处理它。

根据您的场景,您正在尝试在您的函数中使用基于用户的身份验证。我做了一些测试,你可以参考一下:

首先,我创建了一个用 C# 编写的 Http Trigger 函数,然后将授权级别设置为匿名。

return req.CreateResponse(HttpStatusCode.OK, req.Headers,JsonMediaTypeFormatter.DefaultMediaType);

注意:我只是返回具有应用服务身份验证/身份验证指定的特殊标头的所有标头。一些示例标头包括:

  • X-MS-客户端-主体名称
  • X-MS-客户端-主体-ID
  • X-MS-令牌-微软帐户-访问令牌
  • X-MS-令牌-微软帐户-过期

想要了解更多详情,您可以参考应用服务令牌存储 https://cgillum.tech/2016/03/07/app-service-token-store/.

然后,我转到“平台功能”并在“身份验证/授权”下配置 Microsoft 身份验证提供程序。对于移动客户端,只需使用移动应用客户端 SDK 进行日志记录并调用函数端点,如下所示:

总之,您可以使用移动应用客户端 SDK 对函数应用进行身份验证。您可以根据需要配置身份验证提供程序,然后对于您的移动客户端,您可以在调用时设置相关的提供程序名称LoginAsync用于记录。对于您的功能,您可以检查X-MS-CLIENT-PRINCIPAL-IDPheader 并检索特定提供商的当前用户信息和令牌。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用azure功能在移动应用程序中进行身份验证 的相关文章

随机推荐