簡體   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