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
about: Collaborate on a design for a feature/fix or other change
4
+
labels: design-proposal
5
+
---
6
+
7
+
<!--
8
+
This template is useful to build consensus about whether work should be done, and if so, the high-level shape of how it should be approached. Use this before fixating on a particular implementation.
9
+
-->
10
+
11
+
## Summary
12
+
13
+
1-2 sentences. Say what this is about.
14
+
15
+
## Motivation and goals
16
+
17
+
1-2 paragraphs, or a bullet-pointed list. What existing pain points does this solve? What evidence shows it's valuable to solve this?
18
+
19
+
## In scope
20
+
21
+
A list of major scenarios, perhaps in priority order.
22
+
23
+
## Out of scope
24
+
25
+
Scenarios you explicitly want to exclude.
26
+
27
+
## Risks / unknowns
28
+
29
+
How might developers misinterpret/misuse this? How might implementing it restrict us from other enhancements in the future? Also list any perf/security/correctness concerns.
30
+
31
+
## Examples
32
+
33
+
Give brief examples of possible developer experiences (e.g., code they would write).
34
+
35
+
Don't be deeply concerned with how it would be implemented yet. Your examples could even be from other technology stacks.
36
+
37
+
<!--
38
+
# Detailed design
39
+
40
+
It's often best not to fill this out until you get basic consensus about the above. When you do, consider adding an implementation proposal with the following headings:
41
+
42
+
Detailed design
43
+
Drawbacks
44
+
Considered alternatives
45
+
Open questions
46
+
References
47
+
48
+
If there's one clear design you have consensus on, you could do that directly in a PR.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,11 @@
1
1
See the [releases](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/releases) for details on bug fixes and added features.
2
2
3
+
7.0.3
4
+
======
5
+
### Bug Fixes:
6
+
- Fix errors like the following reported by multiple customers at dotnet/aspnetcore#51005 when they tried to upgrade their app using `AddMicrosoftIdentityWebApp` to .NET 8. See [PR](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/pull/2361) for details.
7
+
- Fix compatibility issue with 6x when claims are a bool. See issue [#2354](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/issues/2354) for details.
Copy file name to clipboardExpand all lines: Contributing.md
+60-8Lines changed: 60 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -18,21 +18,57 @@ Please file issues you see in the [issue tracker](https://github.com/AzureAD/azu
18
18
19
19
## Instructions for Contributing Code
20
20
21
-
### Contributing bug fixes
21
+
### Contributor License agreement
22
22
23
-
We accept bug fixes. A bug must have an issue tracking it in the issue tracker. Please link the issue and PR.
23
+
Please visit [https://cla.microsoft.com/](https://cla.microsoft.com/) and sign the Contributor License
24
+
Agreement. You only need to do that once. We can not look at your code until you've submitted this request.
24
25
25
-
### Contributing features
26
+
### Finding an issue to work on
26
27
27
-
Features (things that add new or improved functionality) may be accepted, but will need to first be approved (tagged with "Enhancement") in the issue.
28
+
Over the years we've seen many PRs targeting areas of the code which are not urgent or critical for us to address, or areas which we didn't plan to expand further at the time. In all these cases we had to say no to those PRs and close them. That, obviously, is not a great outcome for us. And it's especially bad for the contributor, as they've spent a lot of effort preparing the change. To resolve this problem, we've decided to separate a bucket of issues, which would be great candidates for community members to contribute to. We mark these issues with the help wanted label. You can find all these issues [here](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22+label%3A%22good+first+issue%22+).
28
29
29
-
## Legal
30
+
With that said, we have additionally marked issues that are good candidates for first-time contributors. Those do not require too much familiarity with the authN/authZ and are more novice-friendly. Those are marked with the good first issue label.
30
31
31
-
You will need to complete a Contributor License Agreement (CLA). Briefly, this agreement testifies that you are granting us permission to use the submitted change according to the terms of the project's license, and that the work being submitted is under appropriate copyright.
32
+
If you would like to make a contribution to an area not captured [here](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22+label%3A%22good+first+issue%22+), first open an issue with a description of the change you would like to make and the problem it solves so it can be discussed before a pull request is submitted.
32
33
33
-
Please submit a Contributor License Agreement (CLA) before submitting a pull request. You may visit https://cla.microsoft.com to sign digitally. Once we have received the signed CLA, we'll review the request.
34
+
If you are working on an involved feature, please file a design proposal, more instructions can be found below, under [Before writing code](#before-writing-code).
34
35
35
-
## Housekeeping
36
+
### Before writing code
37
+
38
+
We've seen PRs, where customers would solve an issue in a way which either wouldn't fit into the E2E design because of how it's implemented, or it would change the E2E in a way, which is not something we'd like to do. To avoid these situations and potentially save you a lot of time, we encourage customers to discuss the preferred design with the team first. To do so, file a new design proposal issue, link to the issue you'd like to address, and provide detailed information about how you'd like to solve a specific problem.
39
+
40
+
To file a design proposal, look for the relevant issue in the `New issue` page or simply click [proposal for Identity Model](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/issues/new?assignees=&labels=design-proposal&projects=&template=design_proposal.md).
41
+
42
+
### Identifying scale
43
+
44
+
If you would like to contribute to one of our repositories, first identify the scale of what you would like to contribute. If it is small (grammar/spelling or a bug fix) feel free to start working on a fix. If you are submitting a feature or substantial code contribution, please discuss it with the team and ensure it follows the product roadmap. You might also read these two blogs posts on contributing code: [Open Source Contribution Etiquette by Miguel de Icaza](http://tirania.org/blog/archive/2010/Dec-31.html) and [Don't "Push" Your Pull Requests by Ilya Grigorik](https://www.igvita.com/2011/12/19/dont-push-your-pull-requests/). All code submissions will be rigorously reviewed and tested further by the team, and only those that meet an extremely high bar for both quality and design/roadmap appropriateness will be merged into the source.
45
+
46
+
### Before submitting the pull request
47
+
48
+
Before submitting a pull request, make sure that it checks the following requirements:
49
+
50
+
- You find an existing issue with the "help-wanted" label or discuss with the team to agree on adding a new issue with that label.
51
+
- You post a high-level description of how it will be implemented and receive a positive acknowledgement from the team before getting too committed to the approach or investing too much effort in implementing it.
52
+
- You add test coverage following existing patterns within the codebase
53
+
- Your code matches the existing syntax conventions within the codebase
54
+
- Your PR is small, focused, and avoids making unrelated changes
55
+
56
+
If your pull request contains any of the below, it's less likely to be merged.
57
+
58
+
- Changes that break backward compatibility
59
+
- Changes that are only wanted by one person/company. Changes need to benefit a large enough proportion of developers using our auth libraries.
60
+
- Changes that add entirely new feature areas without prior agreement
61
+
- Changes that are mostly about refactoring existing code or code style
62
+
63
+
Very large PRs that would take hours to review (remember, we're trying to help lots of people at once). For larger work areas, please discuss with us to find ways of breaking it down into smaller, incremental pieces that can go into separate PRs.
64
+
65
+
### During pull request review
66
+
67
+
A core contributor will review your pull request and provide feedback. To ensure that there is not a large backlog of inactive PRs, the pull request will be marked as stale after two weeks of no activity. After another four days, it will be closed.
68
+
69
+
### Submitting a pull request
70
+
71
+
If you're not sure how to create a pull request, read this article: https://help.github.com/articles/using-pull-requests. Make sure the repository can build and all tests pass. Familiarize yourself with the project workflow and our coding conventions. The coding, style, and general engineering guidelines are published on the Engineering guidelines page.
36
72
37
73
Your pull request should:
38
74
@@ -44,6 +80,22 @@ Your pull request should:
44
80
* Include new tests for new features
45
81
* To avoid line ending issues, set `autocrlf = input` and `whitespace = cr-at-eol` in your git configuration
46
82
83
+
### Tests
84
+
85
+
- Tests need to be provided for every bug/feature that is completed.
86
+
- Unit tests cover all new aspects of the code.
87
+
- Before and after performance and stress tests results are evaluated (no regressions allowed).
88
+
- Performance and stress tests are extended as relevant.
89
+
90
+
### Feedback
91
+
92
+
Your pull request will now go through extensive checks by the subject matter experts on our team. Please be patient; we have hundreds of pull requests across all of our repositories. Update your pull request according to feedback until it is approved by one of the team members.
93
+
94
+
### Merging pull requests
95
+
96
+
When your pull request has had all feedback addressed, it has been signed off by one or more reviewers with commit access, and all checks are green, we will commit it.
97
+
We commit pull requests as a single Squash commit unless there are special circumstances. This creates a simpler history than a Merge or Rebase commit. "Special circumstances" are rare, and typically mean that there are a series of cleanly separated changes that will be too hard to understand if squashed together, or for some reason we want to preserve the ability to dissect them.
@@ -8,62 +8,36 @@ IdentityModel Extensions for .NET provide assemblies that are interesting for we
8
8
9
9
You can find the release notes for each version [here](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/releases). Older versions can be found [here](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/wiki/Release-Notes).
10
10
11
-
## Note about 6.28.0
12
-
We delisted 6.28.0 as we found an edge case where a null reference could occur.
13
-
Please use 6.28.1.
11
+
## IdentityModel 7x
14
12
15
-
## Note about 6.x
16
-
17
-
If you noticed, we bumped the release from 5.x to 6.x\
18
-
We were maintaining two releases from two different branches.\
19
-
dev - 6.x\
20
-
dev5x - 5.x
21
-
22
-
Internally at Microsoft we were quickly required to remove all 3rd party libraries as IdentityModel is all about securing resources.\
23
-
Since there were some breaking changes, given the time-line we had to maintain two releases.
24
-
25
-
Both of these branches were public and moved forward mostly in lock-step.\
26
-
Once we finished our SignedHttpRequest functionality in the 6.x branch, we realized the delta between 5.x and 6.x was too large to maintain in both branches.\
27
-
We decided now was the time to switch to a single release branch.\
28
-
Since internally the versioning was at 6.4.2, we needed to release at 6.5.0.
29
-
30
-
## There are some small breaking changes
31
-
32
-
We built and tested ASP.NET core with 6.5.0 without issues.\
33
-
We also upgraded in place existing applications to 6.5.0 without issues.\
34
-
This of course does not mean you will not hit issues, but we took it seriously.
13
+
We are excited to announce the release of [IdentityModel 7x](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/wiki/IdentityModel-7x), a major update to our popular .NET auth validation library. This new version introduces several improvements related to serialization and consistency in the API, which will provide a better user experience for developers, as well as full AOT compatibility on .NET, and huge perf improvements compared to 6x.
35
14
36
-
Any questions or compatibility problems please open issues [here](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc).
37
-
38
-
## Thank you for using our product
39
-
40
-
The IdentityModel Team.
41
-
42
-
## Usage
43
-
44
-
IdentityModel Extensions for .NET 5 has now been released. If you are using IdentityModel Extensions with ASP.NET, the following combinations are supported:
***IdentityModel Extensions for .NET 4.x**, **ASP.NET 4**, **Katana 3.x**
48
-
All other combinations aren't supported.
17
+
We bumped the release from 6.x to 7.x.
18
+
We are maintaining two releases from two different branches.
19
+
dev - 7.x
20
+
dev6x - 6.x
49
21
50
-
For more details see [Migration notes here](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/wiki/Migrating-from-Katana-(OWIN)-3.x-to-4.x)
22
+
dev6x will be maintained until March 2024, at which point, you will need to move to 7x to continue to get the latest and greatest improvements and security updates.
51
23
52
24
## Samples and Documentation
53
25
54
26
The scenarios supported by IdentityModel extensions for .NET are described in [Scenarios](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/wiki/scenarios). The libraries are in particular used part of ASP.NET security to validate tokens in ASP.NET Web Apps and Web APIs. To learn more about token validation, and find samples, see:
55
27
56
-
-[Azure Active Directory with ASP.NET Core](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/azure-active-directory/?view=aspnetcore-2.1)
57
-
-[Developing ASP.NET Apps with Azure Active Directory](https://docs.microsoft.com/en-us/aspnet/identity/overview/getting-started/developing-aspnet-apps-with-windows-azure-active-directory)
28
+
-[Microsoft Entra ID with ASP.NET Core](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/azure-active-directory/?view=aspnetcore-2.1)
29
+
-[Developing ASP.NET Apps with Microsoft Entra ID](https://docs.microsoft.com/en-us/aspnet/identity/overview/getting-started/developing-aspnet-apps-with-windows-azure-active-directory)
- more generally, the library's [Wiki](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/wiki)
60
32
- the [reference documentation](https://learn.microsoft.com/dotnet/api/microsoft.identitymodel.jsonwebtokens.jsonwebtokenhandler?view=msal-web-dotnet-latest)
61
33
62
34
## Community Help and Support
63
35
64
-
We leverage [Stack Overflow](http://stackoverflow.com/) to work with the community on supporting Azure Active Directory and its SDKs, including this one! We highly recommend you ask your questions on Stack Overflow (we're all on there!) Also browse existing issues to see if someone has had your question before.
36
+
We leverage [Stack Overflow](http://stackoverflow.com/) to work with the community on supporting Microsoft Entra and its SDKs, including this one! We highly recommend you ask your questions on Stack Overflow (we're all on there!) Also browse existing issues to see if someone has had your question before.
37
+
38
+
We recommend you use the "identityModel" tag so we can see it! Here is the latest Q&A on Stack Overflow for IdentityModel: [https://stackoverflow.com/questions/tagged/identityModel](https://stackoverflow.com/questions/tagged/identityModel)
65
39
66
-
We recommend you use the "adal" tag so we can see it! Here is the latest Q&A on Stack Overflow for IdentityModel: [https://stackoverflow.com/questions/tagged/identityModel](https://stackoverflow.com/questions/tagged/identityModel)
40
+
Have a design proposal? Please submit [a design proposal](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/issues/new?assignees=&labels=design-proposal&projects=&template=design_proposal.md) before starting work on a PR to ensure it means the goals/objectives of this library and it's priorities.
0 commit comments