zoukankan      html  css  js  c++  java
  • ASP.NET Web项目加入Azure AD B2C登录校验

    2019-08-26   18:26:16

    1. 项目创建

    1.1 安装

      下载.NETCORE SDK 进行安装

      下载NETCORE RUNTIME进行安装.

      下载Runtime & Hosting Bundle进行安装

      下载地址:https://dotnet.microsoft.com/download/dotnet-core

      微软的安装在windows方面很简单,基本就是一键安装.

    1.2 开发工具

                VisualStudio 2019

    1.3建立项目工程

      点击文件创建项目,出现如下图示

      

      选择画红圈部分,接着出现如下图示

    2. Azure AD B2C

    2.1 创建Azure Active Directory B2C租户

    2.1.1在 Azure 门户的左上角,选择“创建资源”

    2.1.2 搜索并选择“Active Directory B2C” ,然后单击“创建” 。

     2.1.3 选择 "创建新的 Azure AD B2C 租户", 并输入组织名称和初始域名。 选择国家/地区 (以后不能更改), 然后单击 "创建"。

    初始域名用作你的租户名称的一部分。 在此示例中, 租户名称为contoso0926Tenant.onmicrosoft.com:

    2.1.4  在 "创建新的 B2C 租户" 或 "链接到现有租户" 页上, 选择 "将现有 Azure AD B2C 租户链接到我的 Azure 订阅"。

    选择创建的租户, 并选择订阅。

    2.2 在Azure Active Directory B2C中注册应用程序

    2.2.1 选择 Azure 门户左上角的“所有服务”,然后搜索并选择“Azure AD B2C”,选择“应用程序”,然后选择“添加”。

    2.2.2 输入应用程序的名称。 例如,“webapp1” ,对于“包括 Web 应用/Web API”和“允许隐式流”,请选择“是”,对于“回复 URL”,请输入 Azure AD B2C 要将应用程序请求的任何令牌返回到的终结点。 例如,可将其设置为在 https://localhost:44316 上本地侦听。

    2.2.3 创建客户端机密

    • 在“Azure AD B2C - 应用程序”页中,选择已创建的应用程序,例如 webapp1。
    • 选择“密钥”,然后选择“生成密钥”。
    • 选择“保存”以查看密钥。 记下“应用密钥”值。

    2.3 在Azure Active Directory B2C中创建用户流

    2.3.1 选择 Azure 门户左上角的“所有服务”,然后搜索并选择“Azure AD B2C”,在 "策略" 下的左侧菜单中, 选择 "用户流 (策略) ", 然后选择 "新建用户流"。

    2.3.2 在 "建议" 选项卡上, 选择 "注册和登录用户流"。

     2.3.3 输入该用户流的名称。 例如 signupsignin1,对于“标识提供者”,请选择“电子邮件注册”。

    对于“用户属性和声明”,请选择在注册期间要从用户收集并发送的声明和属性。 例如, 选择 "显示更多", 然后选择 "国家/地区"、"显示名称" 和 "邮政编码"。 单击 “确定” 。

    单击“创建” 以添加用户流。 名称中会自动追加前缀 B2C_1

    2.3.4 创建配置文件编辑用户流

    • 在 Azure AD B2C 租户概述 "页的左侧菜单中, 选择"用户流 (策略) ", 然后选择"新建用户流"。
    • 在“建议”选项卡上选择“个人资料编辑”用户流。
    • 输入该用户流的名称。 例如 profileediting1
    • 对于“标识提供者” ,请选择“本地帐户登录”。
    • 对于“用户属性”,请选择你希望客户能够在其个人资料中编辑的属性。 例如, 选择 "显示更多", 然后选择 "显示名称" 和 "职务" 的属性和声明。 单击 “确定” 。
    • 单击“创建” 以添加用户流。 名称中会自动追加前缀 B2C_1

    2.3.5 创建密码重置用户流

    • 在左侧菜单中, 选择 "用户流 (策略) ", 然后选择 "新建用户流"。
    • 在“建议”选项卡上选择“密码重置”用户流。
    • 输入该用户流的名称。 例如 passwordreset1
    • 对于“标识提供者” ,请启用“使用电子邮件地址重置密码”。
    • 在“应用程序声明”下单击“显示更多”,并选择你希望在发回到应用程序的授权令牌中返回的声明。 例如,选择“用户的对象 ID”。
    • 单击 “确定” 。
    • 单击“创建” 以添加用户流。 名称中会自动追加前缀 B2C_1

     

    3.4 使用Azure Active Directory B2C在Web应用程序中启用身份验证

    3.4.1 更新应用程序

    • 登录到 Azure 门户
    • 请确保使用包含 Azure AD B2C 租户的目录,方法是单击顶部菜单中的“目录和订阅筛选器”,然后选择包含租户的目录 。
    • 选择 Azure 门户左上角的“所有服务”,然后搜索并选择“Azure AD B2C” 。
    • 选择“应用程序”,然后选择“webapp1”应用程序。
    • 在“回复 URL”下添加 https://localhost:44316
    • 选择“保存”。
    • 在属性页上,记录你在配置 Web 应用程序时要使用的应用程序 ID。
    • 依次选择“密钥”、“生成密钥”、“保存”。 记录你在配置 Web 应用程序时要使用的密钥。

    3.4.2 配置示例

      在本教程中,你将配置一个可从 GitHub 下载的示例。 该示例使用 ASP.NET 提供简单的待办事项列表。 该示例使用 Microsoft OWIN 中间件组件。 从 GitHub 下载 zip 文件或克隆该示例。 确保将示例文件提取到文件夹中时,路径的总字符长度不到 260。

      git clone https://github.com/Azure-Samples/active-directory-b2c-dotnet-webapp-and-webapi.git

    示例解决方案中包含以下两个项目:

    • TaskWebApp - 创建和编辑任务列表。 该示例使用注册或登录用户流来注册或登录用户。
    • TaskService - 支持创建、读取、更新和删除任务列表功能。 该 API 受 Azure AD B2C 的保护,由 TaskWebApp 调用。

    将示例更改为使用已在租户中注册的应用程序,包括前面记下的应用程序 ID 和密钥。 此外,配置所创建的用户流。 该示例在 Web.config 文件中将配置值作为设置来定义。 若要更改设置,请执行以下操作:

    • 在 Visual Studio 中打开 B2C-WebAPI-DotNet 解决方案。
    • 在 TaskWebApp 项目中打开 Web.config 文件。 将 ida:Tenant 的值替换为所创建租户的名称。 将 ida:ClientId 的值替换为所记录的应用程序 ID。 将 ida:ClientSecret 的值替换为所记录的密钥。 在将客户端密码添加到 Web.config 之前,必须对其进行 XML 编码。
    • 在 Web.config 文件中,将 ida:SignUpSignInPolicyId 的值替换为 b2c_1_signupsignin1。 将 ida:EditProfilePolicyId 的值替换为 b2c_1_profileediting1。 将 ida:ResetPasswordPolicyId 的值替换为 b2c_1_passwordreset1

    运行示例

    • 在解决方案资源管理器中,右键单击 TaskWebApp 项目,然后单击“设为启动项目”。
    • 按 F5。 默认浏览器将启动到本地网站地址 https://localhost:44316/
  • 相关阅读:
    html5的离线缓存
    html5的本地存储
    html5的地理位置定位
    html5新添加的表单类型和属性
    html5的鼠标拖拽
    win下svn常用操作笔记
    git常用命令笔记
    centos7下NFS使用与配置
    centos7下mysql5.6的主从复制
    centos7下创建mysql5.6多实例
  • 原文地址:https://www.cnblogs.com/zmsoftbj/p/11414140.html
Copyright © 2011-2022 走看看