Add support for Secure Service Account API.#210
Add support for Secure Service Account API.#210tylerwarner33 wants to merge 8 commits intoautodesk-platform-services:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive support for the Autodesk Platform Services (APS) Secure Service Account API, which recently reached General Availability (GA). The implementation provides OAuth2 server-to-server authentication capabilities through secure service accounts with asymmetric key pairs.
Key Changes:
- New
Autodesk.Authentication.SecureServiceAccountNuGet package with three main API groups: Account Management, Key Management, and Token Exchange - JWT assertion generation using RSA 2048-bit keys for secure token exchange
- Complete model definitions for service accounts, keys, tokens, and related entities
Reviewed changes
Copilot reviewed 29 out of 29 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
authentication/secureserviceaccount/source/custom-code/SecureServiceAccountClient.cs |
Main client implementation with wrapper methods for all API operations and JWT assertion generation |
authentication/secureserviceaccount/source/Http/AccountManagementApi.gen.cs |
HTTP API implementation for CRUD operations on service accounts |
authentication/secureserviceaccount/source/Http/KeyManagementApi.gen.cs |
HTTP API implementation for managing RSA key pairs associated with service accounts |
authentication/secureserviceaccount/source/Http/ExchangeTokenApi.gen.cs |
HTTP API implementation for exchanging JWT assertions for access tokens |
authentication/secureserviceaccount/source/LocalMarshalling.cs |
Utility class for serialization, deserialization, and parameter marshalling |
authentication/secureserviceaccount/source/Model/*.gen.cs |
Model classes for service accounts, keys, tokens, scopes, and related DTOs |
authentication/secureserviceaccount/test/TestSecureServiceAccount.cs |
Comprehensive test suite covering all API operations |
Aps.Sdk.sln |
Updated solution file to include new secure service account project |
README.md |
Added NuGet package badges for the new Secure Service Account package |
Directory.Packages.props |
Added System.IdentityModel.Tokens.Jwt dependency for JWT generation |
Comments suppressed due to low confidence (1)
authentication/secureserviceaccount/source/Http/AccountManagementApi.gen.cs:498
- This assignment to json is useless, since its value is never read.
string json = await response.Content.ReadAsStringAsync();
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
authentication/secureserviceaccount/source/Http/AccountManagementApi.gen.cs
Outdated
Show resolved
Hide resolved
authentication/secureserviceaccount/source/Model/ServiceAccountCreatePayload.gen.cs
Outdated
Show resolved
Hide resolved
authentication/secureserviceaccount/source/Http/KeyManagementApi.gen.cs
Outdated
Show resolved
Hide resolved
authentication/secureserviceaccount/source/Http/AccountManagementApi.gen.cs
Outdated
Show resolved
Hide resolved
authentication/secureserviceaccount/source/Http/KeyManagementApi.gen.cs
Outdated
Show resolved
Hide resolved
authentication/secureserviceaccount/source/Http/KeyManagementApi.gen.cs
Outdated
Show resolved
Hide resolved
Ran 'dotnet format' on project to use settings from new .editorconfig.
Update test nuget packages, failed to run tests without. Run 'dotnet format' on project to use new .editorconfig settings.
|
Discussion came up in APS Developer call yesterday about trouble getting JWT assertion with a single scope. |
About
Add support for the
Secure Service Account APIrecently released for 'General Availability' (GA).References
Changes
AuthenticationAPI based on endpoint routes (adjust as needed).Testing
tests.runsettingsfile can be created with this format to populate the environment variables in the test suite.