This is a continuation of #2310, describing the features needed to add full support to IdentityServer4 for token exchange as defined by IETF Token Exchange. Most of these features are directly from the specification, but some are suggestions based on real world usage needs that I included for consideration.
Edit 12/27/19 - Adding:
Thanks for the detailed write-up. We will discuss it.
Edited the original post to add number 9, suggesting IImpersonationValidator.
I was thinking through how Identity would know if [email protected] is allowed to be an actor for [email protected], but I realized that is talking authority not identity, and so that workflow would fall under a separate service, like PolicyServer.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Adding a comment to keep alive during review.
Since token exchange offers so many options, it almost feels like it requires a "mini-framework" for it. I currently don't see that being part of the core IS4 work.
My real question would be - is there anything missing in IS4 that would prohibit creating this hypothetical framework based on the current extensibility points?
@leastprivilege I will review if there is anything I can see that is missing.
@leastprivilege Based on my review, I think this could be a separate "mini-framework" project that is optionally added to IS4. Below are each of my above bullet points reviewed:
Hi @amadard, I'm also interested in this feature.
Did you started the development of any framework or are you planning to do so in the near future?
After reading the RFC I believe it could be implemented using the extension grants, by creating a new grant type with the new parameters and a custom response. I believe you also analysed this, did you found any blockers in implementing this using extension grants?
I just did an implementation of some use cases using the standard extension grant validator. I did not hit any blockers.
I think everything is fine for now.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
Questions are community supported only and the authors/maintainers may or may not have time to reply. If you or your company would like commercial support, please see here for more information.
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.