Skip to content

SDK-2808: .NET - SDK Security Dependency Upgrade#553

Closed
mehmet-yoti wants to merge 60 commits into
developmentfrom
SDK-2808-net-sdk-security-dependency-upgrade
Closed

SDK-2808: .NET - SDK Security Dependency Upgrade#553
mehmet-yoti wants to merge 60 commits into
developmentfrom
SDK-2808-net-sdk-security-dependency-upgrade

Conversation

@mehmet-yoti

@mehmet-yoti mehmet-yoti commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Bumps security-relevant packages and fixes two known CVEs in the example projects.

CVEs

  • GHSA-ghhp-997w-qr28 (Critical) — System.Text.Encodings.Web: pinned ≥ 4.7.2 in example projects
  • GHSA-cmhx-cq75-c4mj (High) — System.Text.RegularExpressions: pinned ≥ 4.3.1 in example projects

dotnet list package --vulnerable shows 0 after this.

Package updates

Production (Yoti.Auth.csproj):

  • Portable.BouncyCastle 1.8.5 → 1.9.0 (dual reference: 1.8.5 kept for netstandard1.6 since 1.9.0 dropped that target)
  • Google.Protobuf 3.26.1 → 3.35.1
  • Newtonsoft.Json 13.0.3 → 13.0.4
  • NLog 5.0.1 → 5.5.1
  • Microsoft.CodeAnalysis.NetAnalyzers 7.0.3 → 9.0.0

Test tooling:

  • MSTest.TestAdapter / MSTest.TestFramework 2.2.10 → 3.11.1
  • Microsoft.NET.Test.Sdk 17.2.0 → 17.14.1
  • Moq 4.18.1 → 4.20.72
  • coverlet.msbuild 6.0.2 → 6.0.4

MSTest 3.x migration

MSTest 3.x deprecated a few APIs so bulk-replaced across test files:

  • ThrowsExceptionThrowsExactly, ThrowsExceptionAsyncThrowsExactlyAsync
  • [DataTestMethod][TestMethod] (3.x just uses [TestMethod] + [DataRow])

Other fixes caught during review

  • 3 test methods were calling ThrowsExactlyAsync without await — always passed regardless of what the SUT did. Fixed.
  • DigitalIdentityService was using Validation.NotNull for sdkId — empty string passed through silently. Changed to NotNullOrEmpty.
  • SetupDocScanClient had no MaxDepth on its serializer settings — added MaxDepth = 32 to avoid the same OOM issue that came up in GetSessionConfigurationShouldSucceed.
  • Updated a misleading comment in DigitalIdentityExample.csproj: the System.Text.Encodings.Web 4.7.2 pin does nothing on net6.0 Web SDK since the shared framework already ships a newer version.

Not in this PR

NLog 5→6, JsonSubTypes 1→2, and coverlet 6→10 all have breaking changes — left for separate PRs.

mehmet-yoti and others added 30 commits January 9, 2023 14:07
…e-identity-profile-preview-update

SDK-2201:summary page update
…e-identity-profile-preview-update

Sdk 2201 add support to fetch the identity profile preview update
* SDK-2368: added advanced identity profiles for share1 and idv
* SDK-2342: added support for enabling expanded document fields
* SDK-2341: added support to retrieve expanded doc fields and media, added succedd page example
* SDK-2342: updated test fw version for security and azure pipelines
* SDK-2341 Removed CameraAndUpload on dbs example page
* Sdk 2368: Generated Advanced Identity Profile Example Page
* Create new issue template workflow
* SDK-2238:Create Session
* Update azure-pipelines.yml
* SDK-2245: Retrieve Session
* Sdk 2252:Create QR code
* SDK-2252:Updated validation rule
* SDK-2252:removed net 2.1 support for security issues
* Sdk 2257:Retrieve QR code
* IN-5590: Update support link (#437)
* Sdk 2363: net check for and add optional attribute configuration to sdk (#458)
* Bump Google.Protobuf from 3.21.3 to 3.22.0 (#425)
* Bump Microsoft.CodeAnalysis.CSharp.Workspaces, Microsoft.CodeAnalysis.Common and Microsoft.CodeAnalysis.CSharp (#460)
Updates `Microsoft.CodeAnalysis.CSharp.Workspaces` from 4.2.0 to 4.9.2
Updates `Microsoft.CodeAnalysis.Common` from 4.2.0 to 4.9.2
Updates `Microsoft.CodeAnalysis.CSharp` from 4.2.0 to 4.9.2
* Bump Microsoft.VisualStudio.Azure.Containers.Tools.Targets (#459)
* Bumps Microsoft.VisualStudio.Azure.Containers.Tools.Targets from 1.16.1 to 1.20.1.
* SDK-2264:Retrieve Receipt, updated Newtonsoft.Json 13.0.3
* SDK-2416:Add support for advanced identity profiles to Share V2 and examples
* SDK-2354 added error details and related tests
* SDK-2374 added failure reason info to idv and added tests
* update example session configurations
* IN5631 Updated to remove unsupported dotnet versions
* IN5631 Updated tests for dotnet version support
mehmet-yoti and others added 23 commits October 11, 2024 16:10
* update versions
* Update README.md
* change support contact
* Update ISSUE_TEMPLATE.md
* added create qr code feature
* Add X-Request-ID header support to CreateShareSession and GetShareReceipt methods
* Install .NET 6.0 SDK in Azure Pipeline
* Fix example controllers and tests to use YotiHttpResponse.Data property
* Fix CreateQrCode method calls - remove obsolete parameter
* updated azure pipeline version string
- Updated SonarCloudPublish@1 to SonarCloudPublish@2
- Update .NET SDK to 8.x and version to 3.18.0
* Sdk 2221 net allow rb to supply an applicant profile for identity profile sessions (#526)
* Add applicant profile support for identity profile sessions with typed models and builders, tests
* SDK-2221 update test project to net 8 for compatibility
* Sdk 2753 net add support for requesting and retrieving share code resources tasks (#525)
* SDK-2368: added advanced identity profiles for share1
* SDK-2368: removed unncessesary os files
* SDK-2368:updated test project sdk versions for security issues
* SDK-2368:added tests
* SDK-2753 added support for requesting and retrieving share code resource tasks
* SDK-2753 update test project to net 8 for compatibility
* merged with SDK-2368-net-add-support-for-advanced-identity-profiles-to-share-v-1-v-2-and-examples
* updated source as JSON object
* updated for error in tests
* fixed opencover version
* added fix for requeirement_notmet_details
* updated structured postal address
Replace `string.Format($"/v2/.../{0}", id)` with pure interpolation in
CreateQrCode and GetQrCode endpoints. The original form mixed an
interpolated string with string.Format placeholders, so the {0} was
consumed by the interpolator (rendering the integer literal 0) before
string.Format ran, silently dropping the sessionId / qrCodeId argument.
Every request went to `/v2/sessions/0/qr-codes` or `/v2/qr-codes/0`,
making DigitalIdentityService non-functional since 3.19.0.

Add RequestUri assertions to the two existing tests so this class of
regression can't recur silently.
- CreateQrCode: add Validation.NotNull(sessionId, ...) so a null
  sessionId throws ArgumentNullException instead of silently building
  `/v2/sessions//qr-codes`, matching the existing pattern in GetSession
  and GetQrCode.
- DigitalIdentityClientEngineTests: replace AbsolutePath.Contains(...)
  with AbsolutePath.EndsWith(...) for both QR-code endpoint assertions
  so misplaced or extra path segments can no longer pass silently.
…e-qr-code-path-error

SDK-2806 Fix DigitalIdentityService QR-code URL construction
- Upgrade Portable.BouncyCastle 1.8.5 → 1.9.0 (conditional: 1.8.5 kept for netstandard1.6 which dropped support in 1.9.0)
- Upgrade Google.Protobuf 3.26.1 → 3.35.1 (memory safety fixes)
- Upgrade Newtonsoft.Json 13.0.3 → 13.0.4 (security patch)
- Upgrade NLog 5.0.1 → 5.5.1
- Upgrade Microsoft.CodeAnalysis.NetAnalyzers 7.0.3 → 9.0.0
- Pin System.Text.Encodings.Web ≥ 4.7.2 and System.Text.RegularExpressions ≥ 4.3.1 in example projects to fix CVE GHSA-ghhp-997w-qr28 (Critical) and GHSA-cmhx-cq75-c4mj (High)
- Upgrade MSTest.TestAdapter/TestFramework 2.2.10 → 3.11.1, Microsoft.NET.Test.Sdk 17.2.0 → 17.14.1, Moq 4.18.1 → 4.20.72, coverlet.msbuild 6.0.2 → 6.0.4
- Migrate 39 test files from MSTest 2.x API to 3.x (ThrowsException → ThrowsExactly, ThrowsExceptionAsync → ThrowsExactlyAsync, DataTestMethod → TestMethod)
- Fix sdkId validation in DigitalIdentityService: Validation.NotNull → Validation.NotNullOrEmpty to reject empty strings
- Fix 3 fire-and-forget ThrowsExactlyAsync calls (DocScanClientTests, YotiClientEngineTests) — tests now properly await the assertion
- Add MaxDepth = 32 to SetupDocScanClient JsonSerializerSettings to prevent OOM on complex objects
- Clarify misleading CVE comment in DigitalIdentityExample.csproj (Encodings.Web pin is a no-op on net6.0 Web SDK; framework already provides safe version)
@mehmet-yoti mehmet-yoti changed the base branch from master to development June 23, 2026 07:48
@mehmet-yoti mehmet-yoti changed the title feat(SDK-2808): .NET - SDK Security Dependency Upgrade SDK-2808: .NET - SDK Security Dependency Upgrade Jun 23, 2026
@mehmet-yoti mehmet-yoti requested a review from Copilot June 23, 2026 09:14

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning

  • Copilot's review of this pull request may be incomplete because some of the changed files are excluded by your Copilot content exclusion settings. See Excluding content from Copilot for details.

Pull request overview

This PR upgrades security-relevant NuGet dependencies (addressing the listed CVEs) and modernizes the test/runtime targets, while also expanding SDK surface area for Doc Scan “advanced identity” responses and adding a new Digital Identity example + supporting SDK models.

Changes:

  • Upgraded production/test dependencies and moved test projects to .NET 8 (MSTest 3.x migration updates).
  • Added/extended SDK models/builders for Doc Scan and Digital Identity flows (including new request/response types).
  • Updated example projects (Doc Scan + Profile + new Digital Identity example) and CI/Sonar configuration.

Reviewed changes

Copilot reviewed 188 out of 214 changed files in this pull request and generated 32 comments.

Show a summary per file
File Description
test/Yoti.Auth.Tests/YotiClientTests.cs MSTest API migration (ThrowsExactly, TestMethod + DataRow).
test/Yoti.Auth.Tests/YotiClientEngineTests.cs MSTest 3.x changes; fixes async assertion usage in one test.
test/Yoti.Auth.Tests/Yoti.Auth.Tests.csproj Move tests to net8.0 + update test tooling packages; adjust test data copy rules.
test/Yoti.Auth.Tests/Web/SignedMessageFactoryTests.cs MSTest API migration.
test/Yoti.Auth.Tests/Web/RequestBuilderTests.cs MSTest API migration + variable rename.
test/Yoti.Auth.Tests/Verifications/AgeVerificationTests.cs MSTest API migration + data-driven attribute changes.
test/Yoti.Auth.Tests/ValidationTests.cs MSTest API migration.
test/Yoti.Auth.Tests/TestTools/ShareSession.cs New test helper for Digital Identity share session setup.
test/Yoti.Auth.Tests/TestTools/CreateQr.cs New test helper for QR request creation.
test/Yoti.Auth.Tests/TestData/IdentityProfiles.cs Adds advanced identity profile test data helpers.
test/Yoti.Auth.Tests/TestData/GetSessionResultWithAdvancedIdentityProfile.json New Doc Scan fixture including advanced identity profile fields.
test/Yoti.Auth.Tests/TestData/DynamicPolicy.json Updates expected JSON fixture (removes optional:false entries).
test/Yoti.Auth.Tests/TestData/DigitalIdentity.json New Digital Identity fixture JSON.
test/Yoti.Auth.Tests/ShareUrl/Policy/WantedAttributeBuilderTests.cs Tests added for new Optional behavior.
test/Yoti.Auth.Tests/ShareUrl/Policy/DynamicPolicyBuilderTests.cs Adds coverage for advanced identity profile requirements on policy builder.
test/Yoti.Auth.Tests/ShareUrl/Extensions/TransactionalFlowExtensionBuilderTests.cs MSTest API migration.
test/Yoti.Auth.Tests/ShareUrl/Extensions/ThirdPartyAttributeExtensionBuilderTests.cs MSTest API migration + attribute cleanup.
test/Yoti.Auth.Tests/ShareUrl/Extensions/LocationConstraintExtensionBuilderTests.cs MSTest API migration + redundant attributes removed.
test/Yoti.Auth.Tests/ShareUrl/DynamicSharingServiceTests.cs MSTest API migration.
test/Yoti.Auth.Tests/ShareUrl/DynamicScenarioBuilderTests.cs Minor formatting changes.
test/Yoti.Auth.Tests/Share/ThirdParty/ThirdPartyAttributeConverterTests.cs MSTest API migration.
test/Yoti.Auth.Tests/Share/DataEntryConverterTests.cs MSTest API migration.
test/Yoti.Auth.Tests/Properties/AssemblyInfo.cs Removed legacy AssemblyInfo (SDK-style project generation).
test/Yoti.Auth.Tests/DocumentDetailsAttributeParserTests.cs MSTest API migration + data-driven attribute changes.
test/Yoti.Auth.Tests/DocScan/Session/Retrieve/Task/VerifyShareCodeTaskResponseTests.cs New tests for Verify Share Code task subtype parsing.
test/Yoti.Auth.Tests/DocScan/Session/Retrieve/Task/TaskResponseTests.cs MSTest attribute migration for task subtype parsing tests.
test/Yoti.Auth.Tests/DocScan/Session/Retrieve/Resource/LivenessResourceResponseTests.cs MSTest attribute migration for resource subtype parsing tests.
test/Yoti.Auth.Tests/DocScan/Session/Retrieve/Resource/ApplicantProfileResourceResponseTests.cs New tests for applicant profile resource parsing.
test/Yoti.Auth.Tests/DocScan/Session/Retrieve/IdentityProfile/FailureReasonResponseTest.cs New tests for failure reason response + requirement details list.
test/Yoti.Auth.Tests/DocScan/Session/Retrieve/GetSessionResultTests.cs Adds test for advanced identity profile preview parsing.
test/Yoti.Auth.Tests/DocScan/Session/Retrieve/Check/CheckResponseTests.cs MSTest attribute migration for check subtype parsing tests.
test/Yoti.Auth.Tests/DocScan/Session/Create/Task/RequestedTextExtractionTaskBuilderTests.cs Updates manual check enum usage + adds expanded doc fields flag tests.
test/Yoti.Auth.Tests/DocScan/Session/Create/StructuredPostalAddressBuilderTests.cs New tests for structured postal address builder and JSON output.
test/Yoti.Auth.Tests/DocScan/Session/Create/SessionSpecificationBuilderTests.cs Adds tests for advanced identity profile requirements + resources container.
test/Yoti.Auth.Tests/DocScan/Session/Create/ResourceCreationContainerBuilderTests.cs New tests for resource creation container builder and JSON output.
test/Yoti.Auth.Tests/DocScan/Session/Create/Check/RequestedWatchlistScreeningCheckBuilderTests.cs MSTest API migration.
test/Yoti.Auth.Tests/DocScan/Session/Create/Check/RequestedLivenessCheckBuilderTests.cs MSTest API migration.
test/Yoti.Auth.Tests/DocScan/Session/Create/Check/RequestedFaceMatchCheckBuilderTests.cs MSTest API migration.
test/Yoti.Auth.Tests/DocScan/Session/Create/Check/RequestedFaceComparionCheckBuilderTests.cs MSTest API migration.
test/Yoti.Auth.Tests/DocScan/Session/Create/Check/IssuingAuthoritySubCheckBuilderTests.cs MSTest attribute migration for bool data rows.
test/Yoti.Auth.Tests/DocScan/Session/Create/ApplicantProfileBuilderTests.cs New tests for applicant profile builder and JSON output.
test/Yoti.Auth.Tests/DigitalIdentityExceptionTests.cs New tests for DigitalIdentityException constructors.
test/Yoti.Auth.Tests/DigitalIdentity/ShareSessionRequestBuilderTests.cs New tests for share session request builder and JSON fixture comparison.
test/Yoti.Auth.Tests/DigitalIdentity/RequirementNotMetDetails.cs New tests for Digital Identity requirement-not-met details model.
test/Yoti.Auth.Tests/DigitalIdentity/QrRequestBuilderTests.cs New tests for QR request builder.
test/Yoti.Auth.Tests/DigitalIdentity/Policy/WantedAttributeMatcher.cs New helper for asserting wanted attributes in policy tests.
test/Yoti.Auth.Tests/DigitalIdentity/Extensions/TransactionalFlowExtensionBuilderTests.cs New Digital Identity extension builder tests.
test/Yoti.Auth.Tests/DigitalIdentity/Extensions/LocationConstraintExtensionBuilderTests.cs New Digital Identity location constraint extension tests.
test/Yoti.Auth.Tests/DigitalIdentity/Extensions/ExtensionBuilderTests.cs New generic extension builder tests.
test/Yoti.Auth.Tests/DigitalIdentity/ErrorReasonTests.cs New tests for Digital Identity error reason model.
test/Yoti.Auth.Tests/CryptoEngineTests.cs Adds new negative-path tests for receipt decryption helpers + MSTest migration.
test/Yoti.Auth.Tests/AttributeConverterTests.cs MSTest API migration + attribute updates.
test/Yoti.Auth.Tests/ApplicationProfileTests.cs MSTest API migration.
test/Yoti.Auth.Tests/ActivityDetailsParserTests.cs MSTest API migration.
test/Yoti.Auth.Tests.Common/Yoti.Auth.Tests.Common.csproj Move to net8.0; update Moq.
src/Yoti.Auth/Yoti.Auth.csproj Update TFMs, bump version, upgrade dependencies, add conditional crypto package refs.
src/Yoti.Auth/Web/YotiHttpResponse.cs New wrapper type for response data + headers.
src/Yoti.Auth/Web/Request.cs Adds ExecuteWithHeaders<T> helper.
src/Yoti.Auth/ShareUrl/Policy/WantedAttributeBuilder.cs Adds WithOptional support.
src/Yoti.Auth/ShareUrl/Policy/WantedAttribute.cs Makes Optional nullable; adds ctor param.
src/Yoti.Auth/ShareUrl/Policy/DynamicPolicyBuilder.cs Adds advanced identity profile requirements + changes wanted attribute creation.
src/Yoti.Auth/ShareUrl/Policy/DynamicPolicy.cs Adds advanced identity profile requirements property/serialization.
src/Yoti.Auth/Exceptions/DigitalIdentityException.cs New exception type for Digital Identity API errors.
src/Yoti.Auth/DocScan/Session/Retrieve/Task/VerifyShareCodeTaskResponse.cs New task response subtype.
src/Yoti.Auth/DocScan/Session/Retrieve/Task/TaskResponse.cs Registers verify-share-code task subtype via JsonSubTypes.
src/Yoti.Auth/DocScan/Session/Retrieve/ShareCodeMediaResponse.cs New media wrapper for share-code resources.
src/Yoti.Auth/DocScan/Session/Retrieve/Resource/ShareCodeResourceResponse.cs New share-code resource response + helper to filter tasks.
src/Yoti.Auth/DocScan/Session/Retrieve/Resource/ResourceContainer.cs Adds share_codes and applicant_profiles resource lists.
src/Yoti.Auth/DocScan/Session/Retrieve/Resource/IdDocumentResourceResponse.cs Adds expanded document fields media response.
src/Yoti.Auth/DocScan/Session/Retrieve/Resource/ApplicantProfileResourceResponse.cs New applicant profile resource response.
src/Yoti.Auth/DocScan/Session/Retrieve/IdentityProfile/RequirementNotMetDetails.cs New model for requirements-not-met details in Doc Scan identity profile responses.
src/Yoti.Auth/DocScan/Session/Retrieve/IdentityProfile/FailureReasonResponse.cs Adds requirements-not-met details list to failure reason model.
src/Yoti.Auth/DocScan/Session/Retrieve/GetSessionResult.cs Adds advanced identity profile + preview fields to session result.
src/Yoti.Auth/DocScan/Session/Retrieve/ExpandedDocumentFieldResponse.cs New expanded document fields response (media wrapper).
src/Yoti.Auth/DocScan/Session/Retrieve/AdvancedIdentityProfile/FailureReasonResponse.cs New advanced identity failure reason model.
src/Yoti.Auth/DocScan/Session/Retrieve/AdvancedIdentityProfile/AdvancedIdentityProfileResponse.cs New advanced identity profile response model.
src/Yoti.Auth/DocScan/Session/Retrieve/AdvancedIdentityProfile/AdvancedIdentityProfilePreviewResponse.cs New advanced identity profile preview response model.
src/Yoti.Auth/DocScan/Session/Create/Task/RequestedTextExtractionTaskConfig.cs Adds create_expanded_document_fields to task config.
src/Yoti.Auth/DocScan/Session/Create/Task/RequestedTextExtractionTaskBuilder.cs Adds builder method for expanded document fields flag.
src/Yoti.Auth/DocScan/Session/Create/StructuredPostalAddressBuilder.cs New structured postal address builder.
src/Yoti.Auth/DocScan/Session/Create/StructuredPostalAddress.cs New structured postal address model with JSON mapping.
src/Yoti.Auth/DocScan/Session/Create/SessionSpecificationBuilder.cs Adds advanced identity profile requirements + resources container.
src/Yoti.Auth/DocScan/Session/Create/SessionSpecification.cs Adds advanced identity profile requirements + resources fields.
src/Yoti.Auth/DocScan/Session/Create/ResourceCreationContainerBuilder.cs New builder for resource creation container.
src/Yoti.Auth/DocScan/Session/Create/ResourceCreationContainer.cs New resource creation container model.
src/Yoti.Auth/DocScan/Session/Create/ApplicantProfileBuilder.cs New applicant profile builder.
src/Yoti.Auth/DocScan/Session/Create/ApplicantProfile.cs New applicant profile model (JSON mapped).
src/Yoti.Auth/DocScan/Session/Create/AdvancedIdentityProfile.cs New typed model for advanced identity profile requirements (create).
src/Yoti.Auth/DocScan/DocScanService.cs Adds ContentType null-guard; minor formatting.
src/Yoti.Auth/DigitalIdentityClientEngine.cs New engine wrapper for Digital Identity API calls.
src/Yoti.Auth/DigitalIdentity/ShareSessionResult.cs New model for share session creation response.
src/Yoti.Auth/DigitalIdentity/ShareSessionRequestBuilder.cs New builder for share session request.
src/Yoti.Auth/DigitalIdentity/ShareSessionRequest.cs New Digital Identity share session request model.
src/Yoti.Auth/DigitalIdentity/SharedReceiptResponse.cs New shared receipt response model + nested content types.
src/Yoti.Auth/DigitalIdentity/RequirementNotMetDetails.cs New Digital Identity requirement-not-met details model.
src/Yoti.Auth/DigitalIdentity/ReceiptItemKeyResponse.cs New receipt item key response model.
src/Yoti.Auth/DigitalIdentity/QrRequestBuilder.cs New builder for QR request (Digital Identity).
src/Yoti.Auth/DigitalIdentity/QrRequest.cs New QR request model.
src/Yoti.Auth/DigitalIdentity/Policy/WantedAttributeBuilder.cs New Digital Identity wanted attribute builder.
src/Yoti.Auth/DigitalIdentity/Policy/WantedAttribute.cs New Digital Identity wanted attribute model.
src/Yoti.Auth/DigitalIdentity/Policy/WantedAnchorBuilder.cs New Digital Identity wanted anchor builder.
src/Yoti.Auth/DigitalIdentity/Policy/WantedAnchor.cs New Digital Identity wanted anchor model.
src/Yoti.Auth/DigitalIdentity/Policy/SourceConstraintBuilder.cs New Digital Identity source constraint builder.
src/Yoti.Auth/DigitalIdentity/Policy/SourceConstraint.cs New Digital Identity source constraint model.
src/Yoti.Auth/DigitalIdentity/Policy/PreferredSources.cs New Digital Identity preferred sources model.
src/Yoti.Auth/DigitalIdentity/Policy/Policy.cs New Digital Identity policy model with identity/advanced identity requirements.
src/Yoti.Auth/DigitalIdentity/Policy/NotificationBuilder.cs New Digital Identity notification builder.
src/Yoti.Auth/DigitalIdentity/Policy/Notification.cs New Digital Identity notification model.
src/Yoti.Auth/DigitalIdentity/Policy/Constraint.cs New Digital Identity constraint base model.
src/Yoti.Auth/DigitalIdentity/Policy/AdvancedIdentityProfile.cs New typed model for advanced identity profile requirements (Digital Identity).
src/Yoti.Auth/DigitalIdentity/GetSessionResult.cs New Digital Identity get-session response model.
src/Yoti.Auth/DigitalIdentity/GetReceipt.cs New Digital Identity receipt wire models.
src/Yoti.Auth/DigitalIdentity/GetQrCodeResult.cs New Digital Identity QR code retrieval response model.
src/Yoti.Auth/DigitalIdentity/Extensions/TransactionalFlowExtensionBuilder.cs New Digital Identity transactional flow extension builder.
src/Yoti.Auth/DigitalIdentity/Extensions/ThirdPartyAttributeExtensionBuilder.cs New Digital Identity third party attribute extension builder.
src/Yoti.Auth/DigitalIdentity/Extensions/ThirdPartyAttributeContent.cs New Digital Identity third party attribute content model.
src/Yoti.Auth/DigitalIdentity/Extensions/LocationConstraintExtensionBuilder.cs New Digital Identity location constraint extension builder.
src/Yoti.Auth/DigitalIdentity/Extensions/LocationConstraintContent.cs New Digital Identity location constraint content model.
src/Yoti.Auth/DigitalIdentity/Extensions/ExtensionBuilder.cs New Digital Identity generic extension builder.
src/Yoti.Auth/DigitalIdentity/Extensions/Extension.cs New Digital Identity extension base + generic content wrapper.
src/Yoti.Auth/DigitalIdentity/Extensions/DeviceLocation.cs New Digital Identity device location model.
src/Yoti.Auth/DigitalIdentity/Extensions/BaseExtension.cs New Digital Identity base extension model.
src/Yoti.Auth/DigitalIdentity/ErrorReason.cs New Digital Identity error reason model.
src/Yoti.Auth/DigitalIdentity/ErrorDetails.cs New Digital Identity error details wrapper model.
src/Yoti.Auth/DigitalIdentity/CreateQrResult.cs New Digital Identity QR creation response model.
src/Yoti.Auth/CryptoEngine.cs Adds receipt key/content decryption helpers.
src/Yoti.Auth/Conversion.cs Updates conditional compilation for string.Replace overloads.
src/Yoti.Auth/Constants/DocScanConstants.cs Adds verify-share-code task type constant.
src/Yoti.Auth/Constants/Api.cs Adds share API URL constants.
src/Yoti.Auth.sln Adds DigitalIdentityExample project to main solution.
src/Examples/Profile/CoreExample/CoreExample.csproj Updates Roslyn/containers targets + pins CVE-related packages.
src/Examples/Profile/CoreExample/Controllers/HomeController.cs Sets wanted attribute optionality explicitly.
src/Examples/DocScan/DocScanExample/Views/IdentityProfile/Index.cshtml Adds identity profile view (iframe).
src/Examples/DocScan/DocScanExample/Views/AdvancedIdentityProfile/Index.cshtml Adds advanced identity profile view (iframe).
src/Examples/DocScan/DocScanExample/DocScanExample.sln Removes solution file (example restructuring).
src/Examples/DocScan/DocScanExample/DocScanExample.csproj Moves example to net6.0 + adds CVE pins.
src/Examples/DocScan/DocScanExample/Controllers/IdVerifyController.cs Formatting update.
src/Examples/DocScan/DocScanExample/Controllers/HomeController.cs Updates session spec defaults (manual check mode, liveness mode, TTL).
src/Examples/DocScan/DocScanExample/Controllers/DbsController.cs Adds advanced identity profile requirements support in example.
src/Examples/DigitalIdentity/DigitalIdentity/wwwroot/static/index.css Adds new Digital Identity example styling.
src/Examples/DigitalIdentity/DigitalIdentity/wwwroot/static/assets/icons/verified.svg Adds Digital Identity example UI asset.
src/Examples/DigitalIdentity/DigitalIdentity/wwwroot/static/assets/icons/profile.svg Adds Digital Identity example UI asset.
src/Examples/DigitalIdentity/DigitalIdentity/wwwroot/static/assets/icons/phone.svg Adds Digital Identity example UI asset.
src/Examples/DigitalIdentity/DigitalIdentity/wwwroot/static/assets/icons/nationality.svg Adds Digital Identity example UI asset.
src/Examples/DigitalIdentity/DigitalIdentity/wwwroot/static/assets/icons/gender.svg Adds Digital Identity example UI asset.
src/Examples/DigitalIdentity/DigitalIdentity/wwwroot/static/assets/icons/email.svg Adds Digital Identity example UI asset.
src/Examples/DigitalIdentity/DigitalIdentity/wwwroot/static/assets/icons/document.svg Adds Digital Identity example UI asset.
src/Examples/DigitalIdentity/DigitalIdentity/wwwroot/static/assets/icons/chevron-down-grey.svg Adds Digital Identity example UI asset.
src/Examples/DigitalIdentity/DigitalIdentity/wwwroot/static/assets/icons/calendar.svg Adds Digital Identity example UI asset.
src/Examples/DigitalIdentity/DigitalIdentity/wwwroot/static/assets/icons/address.svg Adds Digital Identity example UI asset.
src/Examples/DigitalIdentity/DigitalIdentity/Views/Web.config Adds view config for Digital Identity example.
src/Examples/DigitalIdentity/DigitalIdentity/Views/Success/Error.cshtml Adds Digital Identity example error page.
src/Examples/DigitalIdentity/DigitalIdentity/Views/Home/DigitalIdentity.cshtml Adds main Digital Identity web-share page.
src/Examples/DigitalIdentity/DigitalIdentity/Views/Dbs/Dbs.cshtml Adds DBS variant page for Digital Identity example.
src/Examples/DigitalIdentity/DigitalIdentity/Views/AdvancedIdentityShare/AdvancedIdentityShare.cshtml Adds advanced identity share page for Digital Identity example.
src/Examples/DigitalIdentity/DigitalIdentity/Startup.cs Adds startup wiring for Digital Identity example app.
src/Examples/DigitalIdentity/DigitalIdentity/README.md Adds Digital Identity example run instructions.
src/Examples/DigitalIdentity/DigitalIdentity/Properties/launchSettings.json Adds launch settings for example.
src/Examples/DigitalIdentity/DigitalIdentity/Program.cs Adds example program entry point.
src/Examples/DigitalIdentity/DigitalIdentity/Models/DisplayAttributes.cs Adds view model for displaying attributes.
src/Examples/DigitalIdentity/DigitalIdentity/Models/DisplayAttribute.cs Adds attribute presentation helper model.
src/Examples/DigitalIdentity/DigitalIdentity/GlobalSuppressions.cs Adds code analysis suppressions for example project.
src/Examples/DigitalIdentity/DigitalIdentity/Dockerfile Adds Docker build for Digital Identity example.
src/Examples/DigitalIdentity/DigitalIdentity/docker-compose.yml Adds docker-compose for Digital Identity example.
src/Examples/DigitalIdentity/DigitalIdentity/docker-compose.override.yml Adds override compose configuration for local env.
src/Examples/DigitalIdentity/DigitalIdentity/docker-compose.dcproj Adds VS docker-compose project metadata.
src/Examples/DigitalIdentity/DigitalIdentity/DigitalIdentityExample.csproj Adds new net6.0 web example project + CVE pins.
src/Examples/DigitalIdentity/DigitalIdentity/Controllers/HomeController.cs Adds “generate-share” endpoint for example.
src/Examples/DigitalIdentity/DigitalIdentity/Controllers/DbsController.cs Adds DBS share endpoint for example.
src/Examples/DigitalIdentity/DigitalIdentity/Controllers/AdvancedIdentityShareController.cs Adds advanced identity share endpoint for example.
src/Examples/DigitalIdentity/DigitalIdentity/appsettings.json Adds example logging config.
src/Examples/DigitalIdentity/DigitalIdentity/appsettings.Development.json Adds dev logging config.
src/Examples/DigitalIdentity/DigitalIdentity/.dockerignore Adds Docker ignore rules for example.
src/Examples/Aml/AmlExample/AmlExample.csproj Updates example TF + JSON package + CVE pins.
README.md Updates support contact link.
azure-pipelines.yml Bumps sonar version and updates exclusions.
azure-pipelines-sonar-only.yml Adds sonar-only pipeline for testing configuration.
.gitignore Removes .DS_Store entries and adds *.lscache.
.github/ISSUE_TEMPLATE/config.yml Adds GitHub issue template config pointing to support.
.github/ISSUE_TEMPLATE.md Updates support link in legacy template.
src/Examples/DigitalIdentity/DigitalIdentity/.env.example Updated example env template (content excluded from review).
Files excluded by content exclusion policy (1)
  • src/Examples/DigitalIdentity/DigitalIdentity/.env.example

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +159 to +167
if (response.Content.Headers.ContentType == null)
{
return null;
}

if (response.Content.Headers.ContentType == null)
{
return null;
}
Comment on lines 1 to 5
using System;
using System.IO;
using System.Security.Cryptography;
using Google.Protobuf;
using Org.BouncyCastle.Crypto;
Comment on lines +14 to +16
FROM build AS publish
RUN dotnet publish DigitalIdentityExample.csproj -c Release -r linux-x64 -o /app -p:TargetFrameworks=netcoreapp6.0 -f netcoreapp6.0

Comment on lines +30 to +38
string yotiKeyFilePath = Environment.GetEnvironmentVariable("YOTI_KEY_FILE_PATH");
_logger.LogInformation(
string.Format(
"yotiKeyFilePath='{0}'",
yotiKeyFilePath));

StreamReader privateKeyStream = System.IO.File.OpenText(yotiKeyFilePath);

var yotiClient = new DigitalIdentityClient(_clientSdkId, privateKeyStream);
Comment on lines +64 to +69
var sessionReq = new ShareSessionRequestBuilder().WithPolicy(policy)
.WithNotification(notification)
.WithRedirectUri("https:/www.yoti.com").WithSubject(new
{
subject_id = "some_subject_id_string"
}).Build();
Comment on lines +1 to +4
@{
ViewData["Title"] = "Advanced Identity Profile Page";
}
<iframe style="border:none;" width="100%" height="750" allow="camera" src="@ViewBag.iframeUrl" allowfullscreen></iframe> No newline at end of file
Comment on lines +1 to +6
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Newtonsoft.Json;
using System.Collections.Generic;

namespace Yoti.Auth.DocScan.Session.Retrieve.IdentityProfile.Tests
{
Comment on lines +3 to +7
using Yoti.Auth.DigitalIdentity;

namespace Yoti.DigitalIdentity.Tests
{
[TestClass]
Comment on lines +1 to +5
using System.Collections.Generic;
using Newtonsoft.Json;

namespace Yoti.DigitalIdentity
{
Comment on lines +1 to +3
using System;
using System.Collections.Generic;

@mehmet-yoti

Copy link
Copy Markdown
Contributor Author

Replaced by #554

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants