Build1 publisher2 min readPublished
AgentCore's Consent portal absorbs the five pieces of session binding you used to host
AgentCore Identity now hosts the redirect leg and keeps the tokens, and what you configure in exchange is an OIDC application in your corporate IdP, a service role, and AWS's callback URL inside your GitHub and Slack apps.
The Engineer · Build desk

What happened
- AgentCore Identity has added a Consent portal, a managed web experience and session binding endpoint for AgentCore Gateway that an administrator creates for a gateway and then shares as a URL with users.
- Customers on AgentCore Identity's three-legged OAuth flow previously built and hosted this themselves, including a public HTTPS callback, browser session management and the CompleteResourceTokenAuth call.
- In the new flow the portal handles the browser redirects and the binding step, and AgentCore Identity keeps the resulting provider tokens in its token vault.
- AWS aims the feature at agents used from IDE and MCP clients including Kiro, Claude Code, Cursor and Visual Studio Code, where consent can be collected before a tool is invoked.
- Adoption requires a gateway with JWT inbound authorization, administrative access to the corporate IdP, and permission to register the AgentCore Identity callback URL in the GitHub OAuth App and Slack app.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
- decision Teams already running their own 3LO flow now choose between maintaining an internet-facing callback service and doing IdP plus IAM setup once per gateway.
- constraint The portal only serves agents behind an AgentCore Gateway with JWT inbound authorization, so consent is collected at the gateway.
- exposure Provider grants for every consenting employee now sit in AWS's token vault, so the gateway's execution role and the portal's service role are what guard access to those GitHub and Slack scopes.
Session binding is the specific thing agent builders kept having to write: taking the OAuth grant a provider hands back and associating it with the user who approved it [1]. The old three-legged flow put five pieces of web infrastructure into a project whose user interface is an IDE [15]. A public HTTPS callback is a production web endpoint. It needs a name, a certificate and uptime, and it has to be reachable from every browser your users bring.
What replaces that code is configuration in two places. In the corporate IdP you create an OIDC web application for the portal and enable the authorization code grant. Then you generate a client ID and secret, set login scopes to at least `openid`, and record the OIDC discovery URL [11]. On the AWS side, the console's Create default role option produces a service role named `AmazonBedrockAgentCoreConsentPortalDefaultServiceRole` with a suffix appended. Supply your own role instead and AWS says to scope `iam:PassRole` to that role's ARN [12]. Six administrator steps, ending with mailing the portal URL to developers [13].
The example assistant reaches two providers: a GitHub target that lists repositories and creates issues, and a Slack target that lists public channels and posts messages [8]. Because each grant is collected separately, a user sits in one of four states: neither connected, GitHub only, Slack only, or both [16]. Three of those four will fail at least one tool call, and the agent still has to handle the missing token.
AWS says developers can connect either provider independently and return to their IDE without repeated prompts [9]. For that to hold in your environment, the identity the gateway reads out of the inbound JWT has to be the identity the portal bound the grant to. That has to hold on every machine the developer signs in from. It is a question about your IdP and your MCP client configuration.
The browser leg was never agent logic. Moving it behind a URL you hand out removes the one component in an agent project that had to be internet-facing. For review after the fact, the walkthrough covers reading the resulting activity in AWS CloudTrail [14].
What to watch
- Whether the Consent portal becomes available to AgentCore runtimes that are not fronted by a Gateway, since today a portal is created for a gateway.
- Whether AWS publishes the CloudTrail event names the portal emits, and what the token vault does when a user revokes the grant at GitHub or Slack.
- The announcement post does not cover region availability or pricing for the Consent portal.