gpt4 book ai didi

c# - 在 Azure 上,Web api+Azure AD 或expressjs+passportjs

转载 作者:太空宇宙 更新时间:2023-11-03 18:22:20 25 4
gpt4 key购买 nike

我需要在 Azure 上构建一个 Web 应用程序,公共(public)用户应该能够订阅并登录该应用程序以查看和操作他们的数据。

我想我可以使用 webapi+AzureAD 或expressjs+passportjs。两者都可以用来以直接而简单的方式解决这个问题吗?对于这样的应用程序使用 AzureAD 是否涉及成本(在网站上不太清楚)。

C#和JS/​​TS都没问题。

干杯,B.

最佳答案

您可以从 ASP.NET Web 应用程序执行此操作

为了使 Web 应用程序能够使用帐户进行身份验证,您可以使用 Azure Active Directory B2C 来实现

FYI: Azure AD B2C enables your apps to authenticate to socialaccounts, enterprise accounts, and Azure Active Directory accountsusing open standard protocols.

你需要做的是:

  1. 注册您的 Web 应用程序(创建应用 ID),以便从 Azure AD 接收访问 token See this Tutorial from Microsoft for a better understanding

PS : Make sure you're using the directory that contains your Azure ADB2C tenant.

  • 使用以下参数在 B2C 设置中添加您的网络应用程序:
    • 名称:[输入向消费者描述您的应用的名称。]
    • 包括网络应用/网络 API:[是 - 对于网络应用选择"is"。]
    • 允许隐式流:[是 - 选择"is",因为应用程序使用 OpenID Connect 登录。]
    • 回复 URL:[回复 URL 是 Azure AD B2C 返回任何内容的终结点您的应用请求的 token 。]
    • 包含 native 客户端:[是 - 如果您的应用是网络应用,或者如果不是 native 客户端,则否]。
  • 创建客户端密码,因为 Azure AD 对客户端应用使用 OAuth2 授权,因此它们需要客户端 ID 或应用程序 ID 以及客户端 key 、客户端密码或应用程序 key 。
  • 创建政策以注册用户访问并登录网络应用,创建注册或登录政策。
  • 创建个人资料编辑政策,允许用户自行重置其用户个人资料信息。
  • 创建密码重置策略以在您的应用程序上启用密码重置。这将描述密码重置期间的消费者体验以及应用程序成功完成后收到的 token 内容。
  • 将以下键添加到配置部分下 appSettings 部分的 Web.config 文件中的现有键,并填写值字段:
  • <configuration>
    <appSettings>
    <add key="ida:Tenant" value="" />
    <add key="ida:ClientId" value="" />
    <add key="ida:ClientSecret" value="" />
    <add key="ida:AadInstance" value="" />
    <add key="ida:RedirectUri" value="{Your RedirectUri}" />
    <add key="ida:SignUpSignInPolicyId" value="" />
    <add key="ida:EditProfilePolicyId" value="" />
    <add key="ida:ResetPasswordPolicyId" value="" />
    </appSettings>
    </configuration>

    关于c# - 在 Azure 上,Web api+Azure AD 或expressjs+passportjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48194302/

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