You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,15 +10,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
10
10
### Added
11
11
12
12
- OAuth2 Credential Provider Lambda handler (`infra-cdk/lambdas/oauth2-provider/index.py`) for lifecycle management with Create, Update, and Delete support
13
-
- Token refresh helpers (`_fetch_gateway_token`) in both Strands and LangGraph agents to prevent stale token errors
13
+
- Conditional token refresh helpers (`_fetch_gateway_token`) in both Strands and LangGraph agents with Runtime (decorator) and Docker (manual) implementations
14
+
- Environment variable `USE_AGENTCORE_IDENTITY_OAUTH` for controlling authentication path (Runtime vs Docker)
15
+
- Docker testing support with environment variable configuration in `test-scripts/test-agent-docker.py`
14
16
- Machine client secret storage in Secrets Manager for OAuth2 authentication
15
17
- Runtime environment variable `GATEWAY_CREDENTIAL_PROVIDER_NAME` for OAuth2 provider lookup
16
18
- OAuth2 Credential Provider and Token Vault IAM permissions to agent runtime role
17
19
- Scoped Secrets Manager IAM permissions to agent runtime role for OAuth2 secrets
20
+
-`docs/RUNTIME_GATEWAY_AUTH.md` - Comprehensive documentation of the M2M authentication workflow between AgentCore Runtime and Gateway, covering both deployment (OAuth2 provider registration) and runtime (token retrieval and validation) phases
18
21
19
22
### Changed
20
23
21
-
- Migrated Gateway authentication from manual OAuth2 implementation (~70 lines in `patterns/utils/auth.py`) to AgentCore SDK `@requires_access_token` decorator (single-line calls)
24
+
- Migrated Gateway authentication to AgentCore SDK `@requires_access_token` decorator for AgentCore Runtime while maintaining manual OAuth2 implementation as fallback for Docker local testing
25
+
- Implemented conditional authentication logic in agent patterns to support both Runtime (decorator) and Docker (manual) environments
22
26
- Use `cr.Provider` pattern for OAuth2 provider to avoid IAM propagation delays
23
27
- Implemented scoped IAM permissions for OAuth2 provider, Token Vault, and Secrets Manager
24
28
- Updated OAuth2 Custom Resource to pass secret ARN instead of plaintext value for enhanced security
@@ -27,10 +31,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
27
31
28
32
### Removed
29
33
30
-
- Manual OAuth2 token fetching function `get_gateway_access_token()` (~70 lines) from `patterns/utils/auth.py`
31
-
- Direct Secrets Manager access from agent code
32
-
- Manual token caching and refresh logic
33
-
- Dependencies on `requests` and `base64` libraries for OAuth2 operations
34
+
- Wildcard Secrets Manager IAM permissions from base `AgentCoreRole` utility class (moved to scoped permissions in backend-stack.ts)
34
35
35
36
### Fixed
36
37
@@ -39,9 +40,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
39
40
40
41
### Security
41
42
42
-
- Enhanced security by delegating OAuth2 token management to AgentCore Identity service
43
+
- Enhanced security by delegating OAuth2 token management to AgentCore Identity service in AgentCore Runtime
0 commit comments