-
Notifications
You must be signed in to change notification settings - Fork 25
Add support for Secure Service Account API. #210
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Add support for Secure Service Account API. #210
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
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.