快速入门:使用本机身份验证在 React 单页应用中登录用户(预览版)

适用于:带灰色 X 号的白色圆圈。 员工租户 带白色勾号的绿色圆圈。 外部租户(了解详细信息

在本快速入门中,你将使用 React 单页应用程序(SPA)演示如何使用 本机身份验证 API对用户进行身份验证。 示例应用演示了用户使用电子邮件和密码注册、登录、注销和密码重置。

先决条件

启用公共客户端和原生身份验证流

若要指定此应用是公共客户端,并且可以使用本机身份验证,请启用公共客户端和本机身份验证流:

  1. 在“应用注册”页中,选择要为其启用公共客户端和本机身份验证流的应用注册。
  2. 在“管理”下,选择“身份验证”。
  3. 高级设置下,允许公共客户端流:
    1. 对于“启用以下移动和桌面流程”,请选择“是”。
    2. 对于“启用本机身份验证”,请选择“是”。
  4. 选择“保存”按钮

克隆或下载示例 SPA

若要获取示例应用程序,可以从 GitHub 克隆它,也可以将其下载为 .zip 文件。

若要克隆示例,请打开命令提示符并导航到要创建项目的位置,然后输入以下命令:

git clone https://github.com/Azure-Samples/ms-identity-ciam-native-javascript-samples.git

或者,下载示例,然后将其提取到名称长度少于 260 个字符的文件路径。

安装项目依赖项

  1. 打开终端窗口并导航到包含 React 示例应用的目录:

    cd API\React\ReactAuthSimple
    
  2. 运行以下命令以安装应用依赖项:

    npm install
    

配置示例 React 应用

  1. 在代码编辑器中,打开 src\config.ts 文件。

  2. 找到占位符 Enter_the_Application_Id_Here,并将其替换为之前注册的应用的应用程序(客户端)ID。

  3. 保存更改。

配置 CORS 代理服务器

本机身份验证 API 不支持 跨域资源共享(CORS),因此必须在 SPA 应用和 API 之间设置代理服务器。

此代码示例包含 CORS 代理服务器,用于将请求转发到本机身份验证 API URL 终结点。 CORS 代理服务器是一种侦听端口 3001 的 Node.js 服务器。

若要配置代理服务器,请打开 proxy.config.js 文件,然后找到占位符:

  • tenantSubdomain 并将其替换为 Directory (tenant) 子域。 例如,如果租户主域名是 contoso.onmicrosoft.com,请使用 contoso。 如果没有租户子域,请了解如何读取租户详细信息
  • tenantId 并将其替换为目录(租户)ID。 如果没有租户 ID,请了解如何读取租户详细信息

运行并测试应用

现已配置示例应用,并已准备好运行。

  1. 在终端窗口中运行以下命令以启动 CORS 代理服务器:

    cd API\React\ReactAuthSimple
    npm run cors
    
  2. 若要启动 React 应用,请打开另一个终端窗口,然后运行以下命令:

    cd API\React\ReactAuthSimple
    npm start
    
  3. 打开 Web 浏览器并转到 http://localhost:3000/

  4. 若要注册帐户,请选择 注册,然后按照提示做。

  5. 注册后,通过分别选择 登录重置密码 来测试登录和密码重置。