Skip to content
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

IdentityModel Validation model change #2711

Open
jennyf19 opened this issue Jul 15, 2024 · 0 comments
Open

IdentityModel Validation model change #2711

jennyf19 opened this issue Jul 15, 2024 · 0 comments
Assignees
Labels
✏️Design proposal Proposal for a feature

Comments

@jennyf19
Copy link
Collaborator

jennyf19 commented Jul 15, 2024

IdentityModel is responsible for validating SecurityTokens. Validating a SecurityToken requires validating multiple parts and reporting the results. Common parts to validate are the issuer, audience, expiration. Default validation is included for important parts of the SecurityToken. The current model provides extensibility using delegates for validation.

Issues we want to address:

  • Simplify the extensibility model by reducing options.
  • Remove exceptions as the model for control.
  • Current validation and delegates throw exceptions on errors.
  • Current validation logs errors by default.
  • Callers will receive a complete description of how the validation occurred.

Proposal

  • Define a set of objects that return the results of a validation step.
  • Define a new set of delegates that are async and return a result.

Each validation step will return a specialized ValidationResult type that contain details that will provide upper layers to the examine errors with contain exception details, log details with a stacktrace that can be thrown or logged.

Related PRs: #2709, #2688, #2679, #2672, #2671, #2669, #2655

@jennyf19 jennyf19 changed the title IdentityModel AsyncDelegates Model IdentityModel Validation model change Jul 15, 2024
@jennyf19 jennyf19 added the ✏️Design proposal Proposal for a feature label Jul 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✏️Design proposal Proposal for a feature
Projects
None yet
Development

No branches or pull requests

4 participants