AWS bedrock-agentcore documentation change
Summary
Added security explanation of unique callback URLs and modified steps to register callback URL after credential provider creation
Security assessment
The change documents how session binding via unique URLs mitigates replay and CSRF vulnerabilities in OAuth flows, but shows no evidence of addressing a specific security incident. It improves documentation of security features.
Diff
diff --git a/bedrock-agentcore/latest/devguide/identity-idp-fusionauth.md b/bedrock-agentcore/latest/devguide/identity-idp-fusionauth.md index d541d1428..53c212816 100644 --- a//bedrock-agentcore/latest/devguide/identity-idp-fusionauth.md +++ b//bedrock-agentcore/latest/devguide/identity-idp-fusionauth.md @@ -15 +15 @@ FusionAuth can be configured as an outbound resource credential provider for Age -**Step 1** +###### Note @@ -17 +17,5 @@ FusionAuth can be configured as an outbound resource credential provider for Age -Use the following procedure to set up a FusionAuth OAuth2 application and obtain the necessary client credentials for AgentCore Identity. +AgentCore Identity issues a unique OAuth2 callback URL for each credential provider you create. The unique callback URL enables session binding, which protects the OAuth2 authorization-code exchange against cross-provider replay and CSRF-style attacks by ensuring an authorization response can only be redeemed against the specific credential provider that initiated it. Because the URL is unique per provider, you won’t know it until **after** you call `CreateOauth2CredentialProvider`. Create your FusionAuth OAuth2 client first, then return to the FusionAuth developer console to register the callback URL once AgentCore Identity has issued it. + +**Step 1: Create the FusionAuth OAuth2 client** + +Use the following procedure to set up a FusionAuth OAuth2 application and obtain the necessary client credentials for AgentCore Identity. You will register the redirect URI in Step 3, after AgentCore Identity issues the unique callback URL. @@ -31,3 +35 @@ Use the following procedure to set up a FusionAuth OAuth2 application and obtain - 6. For authorized redirect URLs, add the following: - - https://bedrock-agentcore.region.amazonaws.com/identities/oauth2/callback + 6. Leave the authorized redirect URLs list empty for now — you will add the unique callback URL in Step 3. @@ -44 +46 @@ For more details, refer to [FusionAuth’s OAuth documentation](https://fusionau -**Step 2** +**Step 2: Create the AgentCore Identity credential provider** @@ -62,0 +65,15 @@ To configure FusionAuth as an outbound resource provider, use the following: +The [CreateOauth2CredentialProvider](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_CreateOauth2CredentialProvider.html) response includes a `callbackUrl` field. This URL is unique to this credential provider and looks like: `https://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX`. Save this value for the next step. + +**Step 3: Register the unique callback URL with FusionAuth** + +Return to the FusionAuth developer console and add the unique callback URL to your OAuth2 application’s redirect URI list. + + 1. Sign in to the FusionAuth developer console and open the OAuth2 application you created in Step 1. + + 2. Add the `callbackUrl` value returned by `CreateOauth2CredentialProvider` to the application’s redirect URI configuration. + + 3. Save your changes. + + + +