gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 03:19:45 25 4
gpt4 key购买 nike

我正在尝试为我的 xamarin 应用程序开发一个无服务器后端。为此,我选择了Azure Functions。现在我已经知道Azure移动应用为此目的提供了SDK,通过它我们可以通过以下多种方式轻松启用身份验证 1. Azure 事件目录 2. Facebook 3.谷歌 4.微软 5.推特

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

提前致谢。

最佳答案

据我所知,当使用 Easy Auth(应用服务中的身份验证/授权)时,用户将被定向到 {your-app-service-url}/.auth/login/{provider}使用 Server-managed authentication 进行日志记录。通过 Web 浏览器与您的 Web 应用程序交互的用户将拥有一个 Cookie,并且他们可以作为您的 Web 应用程序的浏览器保持身份验证。对于其他客户端(例如移动客户端),JWT 将包含在 x-zumo-auth header 中,移动应用客户端 SDK 将为您处理它。

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

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

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

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

  • X-MS-CLIENT-PRINCIPAL-NAME
  • X-MS-CLIENT-PRINCIPAL-ID
  • X-MS-TOKEN-MICROSOFTACCOUNT-ACCESS-TOKEN
  • X-MS-TOKEN-MICROSOFTACCOUNT-EXPIRES-ON

更多详情,您可以引用App Service Token Store .

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

enter image description here

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

关于azure - 使用azure功能在移动应用程序中进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46451717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com