View a markdown version of this page

为 Box 设置 OAuth 2.0 身份验证 - Amazon Bedrock

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 Box 设置 OAuth 2.0 身份验证

OAuth 2.0 身份验证 (OAUTH2) 使用 OAuth 2.0 (3LO) 流程代表特定用户作为 Box 应用程序进行身份验证。连接器抓取用户可以访问的内容。OAuth 2.0 身份验证是特定于用户的,不支持文档级访问控制 (ACL);仅在客户凭据授予身份验证不可行时使用。用户必须手动登录才能生成令牌。

重要

要按用户权限筛选查询结果,请改用 “客户端凭据授权” 身份验证。请参阅为 Box 设置客户端凭据授予身份验证

第 1 步:创建 OAuth 应用程序

  1. 导航到 Box 开发者控制台

  2. 选择 “创建新应用程序”

  3. 选择用户身份验证 (OAuth 2.0) — 应用程序类型:用户。

  4. 命名应用程序,然后选择 “创建”

第 2 步:配置重定向 URI

OAuth 2.0 重定向 URI 下,输入重定向 URL。如果您已有重定向端点,请使用它。否则,请使用以下测试端点:

https://httpbin.org/anything
重要

httpbin.org是一个测试重定向端点,可以生成凭据。请勿在生产中使用它。

第 3 步:配置内容操作

启用以下两个内容操作:

  • 读取所有文件和文件夹

  • 写入所有文件和文件夹

不要启用 OAuth 2.0 的管理操作或用户身份标头。无需其他设置。

第 4 步:生成访问令牌

  1. 登录要抓取的用户的 Box 账户(在浏览器中)。

  2. 导航到授权 URL,your-client-id替换为您的应用程序客户端 ID 和random-string任意值:

    https://account.box.com/api/oauth2/authorize?response_type=code&client_id=your-client-id&state=random-string
  3. 授权后,您将被重定向到 httpbin。从 URL 中复制code值:

    https://httpbin.org/anything?state=your-state&code=auth-code
  4. 运行以下命令将代码交换为令牌:

    curl -i -X POST "https://api.box.com/oauth2/token" \ -H "content-type: application/x-www-form-urlencoded" \ -d "client_id=your-client-id" \ -d "client_secret=your-client-secret" \ -d "code=code-from-above" \ -d "grant_type=authorization_code"
  5. 响应包含access_tokenrefresh_token。两者都复制。

第 5 步:创建 Secrets Manager 密钥

使用以下键值对将凭证存储在 AWS Secrets Manager 机密中:

{ "clientId": "your-client-id", "clientSecret": "your-client-secret", "accessToken": "your-access-token", "refreshToken": "your-refresh-token" }

使用以下命令创建密钥 AWS Command Line Interface:

aws secretsmanager create-secret \ --name bedrock-box-oauth2-creds \ --secret-string file://secret.json

记录响应中的秘密 ARN。您可以将其用作数据源secretArn

后续步骤

存储密钥后,创建authType设置为的数据源OAUTH2。请参阅连接 Box 数据源