【问题标题】:How I can connect my webapp with Azure AD B2C如何将我的 webapp 与 Azure AD B2C 连接
【发布时间】:2019-06-29 19:47:45
【问题描述】:

我正在尝试使用 Web 应用程序设置我的 asp.net 核心。但我遇到了错误。我做了一些谷歌搜索并找到了可能的解决方案,例如

[有关使用 Azure AD B2C 制作 ASP.NET Core Web 应用程序的文档] (https://azure.microsoft.com/de-de/resources/samples/active-directory-b2c-dotnetcore-webapp/) 和这个.NETCore B2C sample

在示例的解决方案中,appsettings.json 文件也有 Api。

"AzureAdB2C": {
"ClientId": "90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6",
"Tenant": "fabrikamb2c.onmicrosoft.com",
"SignUpSignInPolicyId": "b2c_1_susi",
"ResetPasswordPolicyId": "b2c_1_reset",
"EditProfilePolicyId": "b2c_1_edit_profile",
"RedirectUri": "http://localhost:5000/signin-oidc",
"ClientSecret" : "v0WzLXB(uITV5*Aq",
"ApiUrl": "https://fabrikamb2chello.azurewebsites.net/hello",
"ApiScopes": "https://fabrikamb2c.onmicrosoft.com/helloapi/demo.read"
}

但我不明白我为什么需要 Api。我是否需要在 Azure AD B2C Tennant 中设置 API?还是我需要的 Api 里面也有一些代码?

是否有一个很好的例子可以帮助我理解主题?

问候 斯蒂芬

【问题讨论】:

    标签: c# asp.net-core azure-ad-b2c


    【解决方案1】:

    感谢您的帮助。现在运行 Azure AD B2C 的身份验证。 我如何在控制器内部检查用户是否已登录? 当用户登录然后做一些事情。如果用户未登录,则仅显示登录按钮。 我知道如何在视图内部而不是在控制器中检查它。

    【讨论】:

      【解决方案2】:

      感谢珍妮的帮助。

      在第4步

      [可选] 第 4 步:创建您自己的 Web API 此示例在以下位置调用 API https://fabrikamb2chello.azurewebsites.net 的代码与 带有 Azure AD B2C 的示例 Node.js Web API。你需要自己的 API 或者至少,您需要向 Azure AD 注册一个 Web API B2C,以便您可以定义单个页面的范围 应用程序将请求访问令牌。您的 Web API 注册 应包括以下信息: 启用 Web App/Web API 为您的应用程序设置。将回复 URL 设置为适当的 示例中指示的值或提供任何 URL(如果您只是这样做) web api 注册,例如https://myapi。确保你 还提供一个AppID URI,例如demoapi,这个用于 构建在您的单页中配置的范围 应用程序的代码。 (可选)创建应用后,打开 应用程序的已发布范围刀片并添加您想要的任何额外范围。复制 AppID URI 和 Published Scopes 值,因此您可以将它们输入 您的应用程序的代码。

      我可以在我的 Azure B2C Tennant 中设置 WebAPI。 API 的代码是什么?还是我在 Azure B2C 租户中设置 WebAPI 就可以了?

      【讨论】:

      • 您必须向 Azure AD B2C see here 注册 API。
      • 对不起我的问题。但是只注册,后面没有任何代码?
      • 您必须将 api 注册中的某些值添加到项目的 appsettings.json 中...例如:"ApiUrl": "https://fabrikamb2chello.azurewebsites.net/hello", "ApiScopes": "https://fabrikamb2c.onmicrosoft.com/helloapi/demo.read"
      • 是的,但在后面:fabrikamb2chello.azurewebsites.net/hello 必须有任何函数或者只是一个空 url。
      • AppUrl 是为您生成的web api 使用的标识符。请参阅此documentation。然后你可以配置范围。
      【解决方案3】:

      我建议通读.NetCore webapp sample 上的自述文件,并首先按原样运行示例。

      然后,按照[OPTIONAL] 步骤操作,该步骤解释了示例的工作原理以及如何使用您自己的 B2C 租户和策略进​​行设置。该示例调用 API "https://fabrikamb2chello.azurewebsites.net/hello",因此您需要在此处使用 register your own Web API with B2C,以便定义您将为其请求访问令牌的范围。

      然后,您将使用示例中的坐标(例如 Tenant、ClientId、Policies、ClientSecret、ApiUrl 和 ApiScopes)替换您的应用坐标。最后,您应该能够重新构建并运行该解决方案。

      【讨论】:

        猜你喜欢
        • 2019-10-12
        • 2017-01-09
        • 2017-05-16
        • 2019-10-16
        • 2021-02-20
        • 2020-07-07
        • 2017-06-03
        • 2019-06-26
        • 1970-01-01
        相关资源
        最近更新 更多