

# GitHub
<a name="identity-idp-github"></a>

GitHub は、アウトバウンドリソースアクセス用の AgentCore Identity 認証情報プロバイダーとして設定できます。これにより、エージェントは GitHub の OAuth2 サービスを通じてユーザーを認証し、GitHub API リソースのアクセストークンを取得できます。

## アウトバウンド
<a name="identity-idp-github-outbound"></a>

**注記**  
AgentCore Identity は、作成する認証情報プロバイダーごとに一意の OAuth2 コールバック URL を発行します。一意のコールバック URL により、セッションバインディングが有効になります。これにより、OAuth2 認可コード交換をクロスプロバイダーリプレイや CSRF 形式の攻撃から保護できます。これにより、認可レスポンスは、それを開始した特定の認証情報プロバイダーに対してのみ引き換えることができます。URL はプロバイダーごとに一意であるため、 を呼び出す**まで**わかりません`CreateOauth2CredentialProvider`。最初に GitHub OAuth2 クライアントを作成し、次に GitHub デベロッパーコンソールに戻り、AgentCore Identity がコールバック URL を発行したら、コールバック URL を登録します。

 **ステップ 1: GitHub OAuth2 クライアントを作成する** 

次の手順を使用して GitHub OAuth2 アプリケーションをセットアップし、AgentCore Identity に必要なクライアント認証情報を取得します。AgentCore Identity が一意のコールバック URL を発行した後、ステップ 3 でリダイレクト URI を登録します。

 **GitHub OAuth2 アプリケーションを設定するには** 

1. github アカウントのプロファイル写真を選択し、**設定**を選択します。

1. **開発者設定**を選択します。

1. **OAuth アプリ**を選択します。

1. OAuth2 アプリページで**、新しい OAuth アプリ**を選択します。

1. アプリケーションに固有の必要な詳細を入力します。現時点では、**認可コールバック URL** フィールドを空のままにしておきます。ステップ 3 で一意のコールバック URL を追加します。

1. **アプリケーションを登録**を選択して、Github OAuth アプリケーションを作成します。

1. Github の OAuth Apps ページで、新しく作成したプロバイダーに移動します。

1. クライアントシークレットセクションで、**新しいクライアントシークレットの生成**を選択します。

1. 新しく作成されたクライアントシークレットを書き留めます。AgentCore ID で Github アプリケーションを設定するには、これが必要です。
**注記**  
Github は、シークレットの作成時にのみ完全なシークレットを返します。追跡できなくなった場合は、クライアントシークレットを再作成して AgentCore Identity でプロバイダーを設定する必要があります。

詳細については、Github のドキュメント[OAuth アプリの作成](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app)」を参照してください。

 **ステップ 2: AgentCore Identity 認証情報プロバイダーを作成する** 

アウトバウンド GitHub リソースプロバイダーを設定するには、以下を使用します。

```
{
        "name": "NAME",
        "credentialProviderVendor": "GithubOauth2",
        "oauth2ProviderConfigInput": {
            "GithubOauth2ProviderConfigInput": {
                "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: GitHub に一意のコールバック URL を登録する** 

GitHub 開発者コンソールに戻り、OAuth2 アプリケーションのリダイレクト URI リストに一意のコールバック URL を追加します。

1. GitHub 開発者コンソールにサインインし、ステップ 1 で作成した OAuth2 アプリケーションを開きます。

1. によって返された`callbackUrl`値をアプリケーションのリダイレクト URI 設定`CreateOauth2CredentialProvider`に追加します。

1. 変更内容を保存します。