

# Slack
<a name="identity-idp-slack"></a>

Slack 可以設定為用於傳出資源存取的 AgentCore Identity 登入資料提供者。這可讓您的代理程式透過 Slack 的 OAuth2 服務驗證使用者，並取得 Slack API 資源的存取權杖。

## 傳出
<a name="identity-idp-slack-outbound"></a>

**注意**  
AgentCore Identity 會為您建立的每個登入資料提供者發出唯一的 OAuth2 回呼 URL。唯一的回呼 URL 可啟用工作階段繫結，透過確保授權回應只能針對啟動它的特定憑證提供者進行兌換，以保護 OAuth2 授權碼交換免受跨供應商重播和 CSRF 型攻擊。由於每個提供者的 URL 都是唯一的，因此在呼叫 **之前**，您都不會知道它`CreateOauth2CredentialProvider`。首先建立您的 Slack OAuth2 用戶端，然後返回 Slack 開發人員主控台，在 AgentCore Identity 發出回呼 URL 後註冊回呼 URL。

 **步驟 1：建立 Slack OAuth2 用戶端** 

使用下列程序來設定 Slack OAuth2 應用程式，並取得 AgentCore Identity 的必要用戶端憑證。在 AgentCore Identity 發出唯一的回呼 URL 之後，您將在步驟 3 中註冊重新導向 URI。

 **設定 Slack OAuth2 應用程式** 

1. 建立 Slack 應用程式、輸入應用程式名稱，然後選擇要建置應用程式的開發工作區。

1. 開啟 **OAuth & Permissions** 區段。現在將重新導向 URLs清單保留空白 — 您將在步驟 3 中新增唯一的回呼 URL。

1. 複製 Slack 為您的應用程式發行的用戶端 ID 和用戶端秘密。您需要它們才能在 AgentCore Identity 中設定提供者。

如需詳細資訊，請參閱 Slack 的文件 [Sign in with Slack](https://docs.slack.dev/authentication/sign-in-with-slack/)。

 **步驟 2：建立 AgentCore Identity 登入資料提供者** 

若要設定傳出 Slack 資源提供者，請使用下列項目：

```
{
        "name": "NAME",
        "credentialProviderVendor": "SlackOauth2",
        "oauth2ProviderConfigInput": {
            "slackOauth2ProviderConfig": {
                "clientId": "your-client-id",
                "clientSecret": "your-client-secret"
            }
        }
    }
```

[CreateOauth2CredentialProvider](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_CreateOauth2CredentialProvider.html) 回應包含 `callbackUrl` 欄位。此 URL 對此登入資料提供者是唯一的，如下所示：`https://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX`。儲存此值以供下一個步驟使用。

 **步驟 3：向 Slack 註冊唯一的回呼 URL** 

返回 Slack 開發人員主控台，並將唯一的回呼 URL 新增至 OAuth2 應用程式的重新導向 URI 清單。

1. 登入 Slack 開發人員主控台，並開啟您在步驟 1 中建立的 OAuth2 應用程式。

1. 將 傳回`callbackUrl`的值`CreateOauth2CredentialProvider`新增至應用程式的重新導向 URI 組態。

1. 儲存您的變更。