繁体   English   中英

配置 Azure Static Web 应用程序以使用 Azure AD B2C 进行身份验证

[英]Configuring an Azure Static Web App to authenticate using Azure AD B2C

我已经使用 Azure Static Web 应用程序构建了一个基本的 Vue web 应用程序,并且我正在尝试配置自定义身份验证。 通过遵循文档并参考这篇方便的博客文章,我已经设法让一切(大部分)都使用 Auth0 工作。

对于 Auth0,我将AUTH0_ID=<my-auth0-id>AUTH0_SECRET=<my-auth0-secret>添加到 local.settings.json 文件。 我的 staticwebapp.config.json 看起来像这样:

...
"auth": {
      "identityProviders": {
        "customOpenIdConnectProviders": {
          "auth0": {
            "registration": {
              "clientIdSettingName": "AUTH0_ID",
              "clientCredential": {
                "clientSecretSettingName": "AUTH0_SECRET"
              },
              "openIdConnectConfiguration": {
                "wellKnownOpenIdConfiguration": "https://<my-auth0-tenant>/.well-known/openid-configuration"
              }
            },
            "login": {
              "nameClaimType": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
              "scopes": ["openid", "profile"]
            }
          }
        }
      }
    }

我现在正在尝试使用 Azure AD B2C 设置身份验证。 我的理解是 Azure Static Web 应用程序处理一部分身份验证,因此我应该将 ID 提供程序配置为使用 web 应用程序而不是单页应用程序框架。 这就是我在使用 Auth0 时所做的,它似乎有效。

我已将AADB2C_ID=<my-azure-ad-b2c-id>AADB2C_SECRET=<my-azure-ad-b2c-secret>添加到 local.settings.json 文件。 在 staticwebapp.config.json 中,我将ClientIdSettingName替换为AADB2C_ID ,将clientSecretSettingName替换为AADB2C_SECRET ,将wellKnownOpenIdConfigurationhttps://<my-azure-ad-b2>.b2clogin.com/<my-azure-ad-b2c>.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1_signupsignin1 这引用了我的 B2C 租户上的“signupsignin”用户流。

此时,我可以访问指向 /.auth/login/aadb2c 的 /login,启动用户流程,并让我按预期进行注册和验证。 然后在我的 Azure AD B2C 租户中创建测试用户。 但是,B2C 然后尝试将我重定向到 /.auth/complete,这会引发 403 错误:

我们需要一个 email 地址或您的登录服务的句柄。 要使用此登录名,请使用缺少的信息更新您的帐户。

我尝试在 Azure AD B2C 中添加 /.auth/complete 作为允许的重定向 URI,但这并不能解决问题。 我在这里错过了什么?

尝试更改为:“nameClaimType”:“emails”。 来自 staticwebapp.config.json 在这里: https://github.com/Azure/static-web-apps/issues/457

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM