在Azure上,webapi + AzureAD或expressjs + passportjs

时间:2018-01-10 18:55:24

标签: c# node.js azure express

我需要在Azure上构建一个Web应用程序,公共用户应该可以在其上进行操作并登录以查看和操作他们的数据。

我想我可以使用webapi + AzureAD或expressjs + passportjs。两者都可以用来直接简单地解决这个问题吗?将AzureAD用于此类应用程序是否涉及成本(无法在网站上完成此操作)。

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

干杯,B。

1 个答案:

答案 0 :(得分:7)

您可以从ASP.NET Web应用程序中完成此操作

为了使Web应用程序能够通过帐户进行身份验证,可以通过使用Azure Active Directory B2C来做到这一点

  

仅供参考:Azure AD B2C使您的应用程序可以向社交身份验证   帐户,企业帐户和Azure Active Directory帐户   使用开放标准协议。

您需要做的是:

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

PS:确保您使用的目录包含您的Azure AD   B2C租户。

  1. 使用以下参数在B2C设置中添加您的Web应用程序:

    • 名称:[输入一个向消费者描述您的应用的名称。]
    • 包括网络应用程序/网络API:[是-为网络应用程序选择是。]
    • 允许隐式流程:[是-因为该应用程序使用OpenID Connect登录,所以选择是。]
    • 答复URL:[答复URL是Azure AD B2C返回任何端点的终结点 您的应用请求的令牌。]
    • 包括本机客户端:[是-如果您的应用是网络应用,则否,如果不是本机客户端]。
  2. 创建客户端密码,因为Azure AD对客户端应用程序使用OAuth2授权,因此它们需要客户端ID或应用程序ID以及客户端密钥,客户端密码或应用程序密钥。

  3. 创建策略以注册用户访问权限,然后登录Web应用程序,创建注册或登录策略。
  4. 创建个人资料编辑策略,以允许用户自行重置其用户个人资料信息。
  5. 创建密码重置策略以在应用程序上启用密码重置。这将描述密码重置期间的用户体验以及应用程序成功完成后收到的令牌内容。
  6. 在配置部分下的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>