

# Dropbox
<a name="identity-idp-dropbox"></a>

可以将 Dropbox 配置为出站资源访问的 AgentCore 身份凭证提供商。这样，您的代理就可以通过 Dropbox 的 OAuth2 服务对用户进行身份验证，并获取 Dropbox API 资源的访问令牌。

**注意**  
Dropbox 不支持 M2M/Client 凭证流程。

## 出站
<a name="identity-idp-dropbox-outbound"></a>

**注意**  
AgentCore Identity 会为您创建的每个凭据提供商发出唯一的 OAuth2 回调 URL。唯一的回调 URL 支持会话绑定，通过确保授权响应只能针对启动它的特定凭据提供商兑换，从而保护 OAuth2 授权码交换免受跨提供商重播和 CSRF-style 攻击。由于每个提供商的网址是唯一的，因此您要等到致电**后**才能知道`CreateOauth2CredentialProvider`。请先创建您的 Dropbox OAuth2 客户端，然后在 Ident AgentCore ity 发布回传网址后返回 Dropbox 开发者控制台注册回传网址。

 **第 1 步：创建 Dropbox OAuth2 客户端** 

使用以下步骤设置 Dropbox OAuth2 应用程序并获取身份所需的客户端凭据。 AgentCore 在 Ident AgentCore ity 发出唯一回调 URL 之后，您将在步骤 3 中注册重定向 URI。

 **配置 Dropbox OAuth2 应用程序** 

1. 打开 Dropbox 的开发者**应用控制台**。

1. 选择**创建应用程序**。

1. 选择**限定范围的访问权限**。

1. 对于访问类型，请选择适合您的应用程序的访问类型。

1. 提供应用程序的名称。

1. 选择**创建应用程序**。

1. 在应用程序概述页面上，打开 OAuth2 部分。暂时将重定向 URI 列表留空 — 您将在步骤 3 中添加唯一的回传 URL。

1. 在同一部分中，选择 “**允许公共客户端”（隐式授权和 PKCE）**下方的下拉列表，然后在选项中选择 “**不允许**”。

1. 记录应用密钥和应用密钥，因为您需要这些信息才能在 Ident AgentCore ity 中配置 Dropbox 资源提供商。

1. 在应用程序的 “**权限**” 选项卡中，选择应用程序所需的范围。

如需了解更多详情，请参阅 [Dropbox 的 OAuth 实施指南](https://developers.dropbox.com/oauth-guide#implementing-oauth)。

 **步骤 2：创建 AgentCore 身份凭证提供商** 

要将 Dropbox 配置为出站资源提供商，请使用以下方法：

```
{
  "name": "DropBox",
  "credentialProviderVendor": "DropboxOauth2",
  "oauth2ProviderConfigInput" : {
    "includedOauth2ProviderConfig": {
      "clientId": "your-client-id",
      "clientSecret": "your-client-secret"
    }
  }
}
```

[CreateOauth2CredentialProvider](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_CreateOauth2CredentialProvider.html)响应中包含一个`callbackUrl`字段。此网址是该凭证提供商所独有的，看起来像:`https://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX`. 保存此值以供下一步使用。

 **第 3 步：在 Dropbox 上注册唯一的回传网址** 

返回 Dropbox 开发者控制台，将唯一的回调网址添加到 OAuth2 应用的重定向 URI 列表中。

1. 登录 Dropbox 开发者控制台并打开您在步骤 1 中创建的 OAuth2 应用程序。

1. 将返回的`callbackUrl`值添加到应用程序的重定向 URI 配置中。`CreateOauth2CredentialProvider`

1. 保存更改。