-
Notifications
You must be signed in to change notification settings - Fork 344
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
[Feature Request] Caller SDK details in ExtraQueryParams #4863
Comments
@bgavrilMS @neha-bhargava for the current schema, does it mean that arbitrary caller SDK IDs and versions can be included? I am assuming that we're not actually going to use |
@localden the |
OK so I think that's the interesting part that we need to flesh out - what are the constraints for this field? Because I can totally see someone putting their entire user agent here 😁 |
In other internal libraries we own, we solve a very similar problem using something the caller can configure while setting up their host. I can share more details, we call it |
@localden and @neha-bhargava also pointed out the similarity between this "higher level SDK's identity" and the existing |
Yeah, overloading |
The problem with the existing x-app-name and x-app-version headers is that they are not recorded by ESTS. And at the same time, MSALs have public APIs (I recommend deprecating them). So there are apps out there using these already and it might get messy if we start recording them.
Thoughts? |
Maybe add a new API |
@neha-bhargava @bgavrilMS - I don't think we need a dedicate API specifically for API ID and version, but a generic |
The term "query parameter" specifically means parameters in an http url. In OIDC, not only a request may have query parameter and "in-body" parameter, but also the typical interactive flow has more than one http urls involved. So, it was not a good choice to use "QueryParameter" to mean a generic property bag. Besides, I do not see a problem to use a dedicate API specifically for its intended purpose, especially when we happen to already have that API.
The
There shouldn't be many apps out there using a currently-no-op "AppName" and "AppVersion" API. Regardless, it is a legit concern of apps sending extra-long string (maliciously?). So, we may choose to add a hardcoded size limit to those input, and then we shall be fine. |
This is a fair point. We already have Ultimately, this is supposed to be used by higher level SDKs only. There are under 10 of these. @localden - up to you, I don't feel strongly either way. I recommend that we force the 2 strings to be limited in size (maybe 5 chars for name and 10 chars for version?) |
Love this @bgavrilMS - if we already have the APIs, let's bring them back and make them non-browsable. Let's keep 10 chars for both the version and name. |
For version, it should be longer, to account for things like |
Problem statement
Goal
Higher level SDKs provide a hint on their identity: id + version
Dev Experience
request.WithExtraQueryParameters({{ "caller-sdk-id", "41"}, { "caller-sdk-ver", "1.42.0"}}
Note: pls improve WithExtraQueryParameters so that it can be used multiple times, in which case values are appended.
Implementation
The data should be sent to ESTS via the msal-curr header and also captured in the OTEL metrics.
The text was updated successfully, but these errors were encountered: