StaticWebApps Enhanced Header Payload processing #1004
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why make this change?
userDetails,userIdfromX-MS-CLIENT-PRINCIPALpayload #843userIdanduserDetails. These properties can be used as claims and can be referenced in database authorization policies.What is this change?
userIdanduserDetailsto theClaimsIdentityobject when present (and not null/empty/whitespace) in the SWA authenticated user payload. These claims can be used in authorization policies without any changes beyond adding the claims to the ClaimsIdentity object with claim types of:userIduserDetailsHow was this tested?
Sample Request(s)
Sample
X-MS-CLIENT-PRINCIPALheader values to use for manual testing (which are already used in unit tests)Raw Json object that can be modified for use in Base64 Encoding. Note: UserId and UserDetails must be JSON strings to match actual EasyAuth payload property types.
{"IdentityProvider":"aad","UserId":"1234","UserDetails":"userDetailsString","UserRoles":["anonymous","authenticated"]}Base64Encoded header to use as header value
eyJJZGVudGl0eVByb3ZpZGVyIjoiYWFkIiwiVXNlcklkIjoiMTIzNCIsIlVzZXJEZXRhaWxzIjoidXNlckRldGFpbHNTdHJpbmciLCJVc2VyUm9sZXMiOlsiYW5vbnltb3VzIiwiYXV0aGVudGljYXRlZCJdfQ==