带有 Google Flutter 的 Easy Auth 身份验证的 Azure AD B2C

Azure AD B2C with Easy Auth Authentication with Google Flutter

我正在使用 Google flutter 有一个用于移动开发的前端,我正在使用 Azure App Services 作为后端。

如何处理登录和身份验证,以便我可以使用作为 Azure 应用服务一部分的 Easy Auth 调用 Azure AD B2C。我还没有看到任何用于 Flutter 的 SDK。 Flutter 不使用 Javascript,所以我不能像在其他 Azure 示例中看到的那样使用 javascript 来调用它。

有什么想法吗?我想很多其他人都会面临同样的问题,因为 Azure 是如此受欢迎。我想使用 Google Firestore,但我不能,因为它不符合 HIPAA 标准。

由于它是本机应用程序实现,您可以使用 ROPC(资源所有者密码凭证)流程为您的 REST API 获取 AAD B2C 令牌。 您创建这样的策略:https://docs.microsoft.com/en-us/azure/active-directory-b2c/configure-ropc

然后让应用程序进行 REST API 调用以获取令牌: https://docs.microsoft.com/en-us/azure/active-directory-b2c/configure-ropc#test-the-user-flow

App 服务需要设置 B2C 作为其身份验证提供程序: 启用身份验证。 在 Authentication Providers 列表下 select “Azure Active Directory” 之后,这将打开一个新配置 blade,select “Advanced” 并记下必填字段,包括 Client ID 和 Issuer Uri – Client Secret 和 Allowed Token Audiences 是可选字段。转到后续步骤以从 B2C 收集应用程序客户端 ID 和颁发者 URI 值。

创建一个新的 B2C 应用程序。从 Azure 门户(可选,您可以打开单独的浏览器选项卡或新浏览器 session,保留之前的 blade open/available),转到您的 B2C 租户 Blade,然后select 应用程序,然后 select + 添加以创建新应用程序。在 New Application blade 中,给应用程序一个友好的名称,Select Yes for Web App/ Web API 选项,在 Reply URL 部分,输入完整的 Azure您在步骤 2 中创建的网站名称,并在其后附加:/.auth/login/aad/callback。例如:https://myAppSecuredByB2C.azurewebites.net/.auth/login/aad/callback

Select 创建。

收集 B2C 应用程序 ID。成功创建应用程序后,返回 B2C 管理门户应用程序 blade,找到您新创建的应用程序并打开配置文件以收集应用程序 ID – 复制此 B2C 应用程序 ID – 这将用于完成 Azure Function配置。

收集 B2C OpenID 连接元数据 URL 端点。转到顶级 Azure AD B2C blade,select 用户旅程,select 登录注册策略(或您创建的任何其他策略,select “运行 用户流”按钮 – 打开 blade 后复制 Openid 元数据端点

回到应用服务的认证blade。 Select:Azure Active Directory 设置 – 在客户端 ID 属性 中输入 B2C 应用程序 ID。同样,将 B2C Open ID Connect 元数据 URL 输入 Issuer URI 属性。 Select确定完成配置。