本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 Box 设置 OAuth 2.0 身份验证
OAuth 2.0 身份验证 (OAUTH2) 使用 OAuth 2.0 (3LO) 流程代表特定用户作为 Box 应用程序进行身份验证。连接器抓取用户可以访问的内容。OAuth 2.0 身份验证是特定于用户的,不支持文档级访问控制 (ACL);仅在客户凭据授予身份验证不可行时使用。用户必须手动登录才能生成令牌。
重要
要按用户权限筛选查询结果,请改用 “客户端凭据授权” 身份验证。请参阅为 Box 设置客户端凭据授予身份验证。
第 1 步:创建 OAuth 应用程序
-
导航到 Box 开发者控制台
。 -
选择 “创建新应用程序” 。
-
选择用户身份验证 (OAuth 2.0) — 应用程序类型:用户。
-
命名应用程序,然后选择 “创建” 。
第 2 步:配置重定向 URI
在 OAuth 2.0 重定向 URI 下,输入重定向 URL。如果您已有重定向端点,请使用它。否则,请使用以下测试端点:
https://httpbin.org/anything
重要
httpbin.org是一个测试重定向端点,可以生成凭据。请勿在生产中使用它。
第 3 步:配置内容操作
启用以下两个内容操作:
读取所有文件和文件夹
写入所有文件和文件夹
不要启用 OAuth 2.0 的管理操作或用户身份标头。无需其他设置。
第 4 步:生成访问令牌
-
登录要抓取的用户的 Box 账户(在浏览器中)。
-
导航到授权 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 -
授权后,您将被重定向到 httpbin。从 URL 中复制
code值:https://httpbin.org/anything?state=your-state&code=auth-code -
运行以下命令将代码交换为令牌:
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" -
响应包含
access_token和refresh_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 \ --namebedrock-box-oauth2-creds\ --secret-string file://secret.json
记录响应中的秘密 ARN。您可以将其用作数据源secretArn。
后续步骤
存储密钥后,创建authType设置为的数据源OAUTH2。请参阅连接 Box 数据源。