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

Base64Url encode is not unique to KeyVault and should be in Azure Core #2501

Closed
ahsonkhan opened this issue Jun 28, 2021 · 2 comments · Fixed by #2528
Closed

Base64Url encode is not unique to KeyVault and should be in Azure Core #2501

ahsonkhan opened this issue Jun 28, 2021 · 2 comments · Fixed by #2528
Assignees
Labels
blocking-release Blocks release Client This issue points to a problem in the data-plane of the library. feature-request This issue requires a new behavior in the product in order be resolved. KeyVault
Milestone

Comments

@ahsonkhan
Copy link
Member

Base64Url encoding and decoding operation is a very common transformation API. It should be in Azure Core since we know future services will need it.

It is currently internal within KeyVault Common. If we are happy with the design, we should consider making it public and moving it to core.

namespace Azure { namespace Security { namespace KeyVault { namespace _internal {
/**
* @brief Provides conversion methods for Base64URL.
*
*/
struct Base64Url final

namespace Azure { namespace Core {
/**
* @brief Used to convert one form of data into another, for example encoding binary data into
* Base64 text.
*/
class Convert final {

https://github.com/Azure/azure-sdk-for-net/search?q=base64url
WebPubSub, Attestation, ContainerRegistry, ACS, etc.

cc @JeffreyRichter, @RickWinter, @vhvb1989

@ahsonkhan ahsonkhan added this to the [2021] July milestone Jun 28, 2021
@JeffreyRichter
Copy link
Member

As always making things public comes with a huge cost (making it general purpose [not just for our specific needs], documentation, samples, support in perpetuity). So, we should avoid this unless there is real customer benefit.

@ahsonkhan
Copy link
Member Author

Leave it internal, but move it to core.

@RickWinter RickWinter added blocking-release Blocks release Client This issue points to a problem in the data-plane of the library. feature-request This issue requires a new behavior in the product in order be resolved. labels Jun 30, 2021
konrad-jamrozik pushed a commit that referenced this issue Feb 23, 2023
Co-authored-by: Konrad Jamrozik <kojamroz@microsoft.com>
microzchang added a commit that referenced this issue Mar 6, 2023
* update comment (#4364)

* update comment

* jghjg

* update broken link

* Update sdk/keyvault/tools/cleanup/src/cleanup.cpp

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Docker comment (#4375)

* update comment

* add comment about vcpkg

* dsfs

* Trigger`keyvault` on proxy changes (#4343)

* autotrigger the keyvault and storage CI when a testproxy file is changed

* Generate API review for C++ using new parser (#4302)

* Add vmImage back to common perf.yml - Fixes #5466 - Partially reverts #5456 (#4376)

Co-authored-by: Mike Harder <mharder@microsoft.com>

* Fix pipelines path (#4358)

* test path

* qwq

* dsda

* asas

* dsada

* sdsds

* Update sdk/keyvault/azure-security-keyvault-certificates/perf-tests.yml

Co-authored-by: Mike Harder <mharder@microsoft.com>

* Update sdk/keyvault/azure-security-keyvault-certificates/perf-tests.yml

Co-authored-by: Mike Harder <mharder@microsoft.com>

* remove warmup

---------

Co-authored-by: Mike Harder <mharder@microsoft.com>

* Test proxy & storage tests improvements (#4241)

* Temporarily pin Node 18 to 18.13.0 - Fixes #5536 (#4378)

Co-authored-by: Mike Harder <mharder@microsoft.com>

* Storage tests improvement (#4382)

* Update CODEOWNERS (#4380)

* show headers and query parameters in storage CI pipeline (#4379)

* Sync eng/common directory with azure-sdk-tools for PR 5431 #2501

Co-authored-by: Konrad Jamrozik <kojamroz@microsoft.com>

* Sync eng/common directory with azure-sdk-tools for PR 5562 (#4384)

* Add todos to update packages to pick up the newest CODEOWNERS interpreter

* update

---------

Co-authored-by: Konrad Jamrozik <kojamroz@microsoft.com>

* Fix Share Client failure #4377 (#4381)

* Fix Share Client failure #4377

* decrease request count to avoid throttling errors for storage tests (#4385)

* Sync eng/common directory with azure-sdk-tools for PR 5568 (#4387)

* we encourage folks to place their assets.jsons at the package level

* update generate-assets-json.ps1 to only include src/**/session-records so as to avoid picking up the duplicated 'target' sessionrecords

---------

Co-authored-by: scbedd <45376673+scbedd@users.noreply.github.com>

* Add support to ignore invalid cert common name (#4361)

* update to version 7.4 for admin. update tests (#4388)

* update proxy version to include Info/Active against individual sessions + allow delayed response (#4391)

Co-authored-by: scbedd <45376673+scbedd@users.noreply.github.com>

* Sync eng/common directory with azure-sdk-tools for PR 5540 (#4396)

* add parameter to set cadl emitter options

* remove emitter name in the additional parameter

---------

Co-authored-by: chunyu3 <chunyu@microsoft.com>

* Follow-up to update changelog to reflect community contribution (#4393)

* Follow-up to update changelog to reflect community contribution

* Upgrade cspell version from 0.1 to 0.2

* logging api post request body (#4404)

Co-authored-by: Albert Cheng <albertcheng@microsoft.com>

* Sync eng/common directory with azure-sdk-tools for PR 5595 (#4400)

* Use "npm ci" to install cspell and respect package-lock.json

* Review feedback

* Pipe npm ci output to Write-Host

---------

Co-authored-by: Daniel Jurek <djurek@microsoft.com>

---------

Co-authored-by: George Arama <50641385+gearama@users.noreply.github.com>
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
Co-authored-by: Scott Beddall <45376673+scbedd@users.noreply.github.com>
Co-authored-by: Praven Kuttappan <55455725+praveenkuttappan@users.noreply.github.com>
Co-authored-by: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com>
Co-authored-by: Mike Harder <mharder@microsoft.com>
Co-authored-by: JinmingHu <jinmhu@microsoft.com>
Co-authored-by: Konrad Jamrozik <kojamroz@microsoft.com>
Co-authored-by: chunyu3 <chunyu@microsoft.com>
Co-authored-by: Ahson Khan <ahson_ahmedk@yahoo.com>
Co-authored-by: Albert Cheng <albertcheng@microsoft.com>
Co-authored-by: Daniel Jurek <djurek@microsoft.com>
microzchang added a commit to microzchang/azure-sdk-for-cpp that referenced this issue Apr 4, 2023
* update comment (Azure#4364)

* update comment

* jghjg

* update broken link

* Update sdk/keyvault/tools/cleanup/src/cleanup.cpp

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Docker comment (Azure#4375)

* update comment

* add comment about vcpkg

* dsfs

* Trigger`keyvault` on proxy changes (Azure#4343)

* autotrigger the keyvault and storage CI when a testproxy file is changed

* Generate API review for C++ using new parser (Azure#4302)

* Add vmImage back to common perf.yml - Fixes Azure#5466 - Partially reverts Azure#5456 (Azure#4376)

Co-authored-by: Mike Harder <mharder@microsoft.com>

* Fix pipelines path (Azure#4358)

* test path

* qwq

* dsda

* asas

* dsada

* sdsds

* Update sdk/keyvault/azure-security-keyvault-certificates/perf-tests.yml

Co-authored-by: Mike Harder <mharder@microsoft.com>

* Update sdk/keyvault/azure-security-keyvault-certificates/perf-tests.yml

Co-authored-by: Mike Harder <mharder@microsoft.com>

* remove warmup

---------

Co-authored-by: Mike Harder <mharder@microsoft.com>

* Test proxy & storage tests improvements (Azure#4241)

* Temporarily pin Node 18 to 18.13.0 - Fixes Azure#5536 (Azure#4378)

Co-authored-by: Mike Harder <mharder@microsoft.com>

* Storage tests improvement (Azure#4382)

* Update CODEOWNERS (Azure#4380)

* show headers and query parameters in storage CI pipeline (Azure#4379)

* Sync eng/common directory with azure-sdk-tools for PR 5431 Azure#2501

Co-authored-by: Konrad Jamrozik <kojamroz@microsoft.com>

* Sync eng/common directory with azure-sdk-tools for PR 5562 (Azure#4384)

* Add todos to update packages to pick up the newest CODEOWNERS interpreter

* update

---------

Co-authored-by: Konrad Jamrozik <kojamroz@microsoft.com>

* Fix Share Client failure Azure#4377 (Azure#4381)

* Fix Share Client failure Azure#4377

* decrease request count to avoid throttling errors for storage tests (Azure#4385)

* Sync eng/common directory with azure-sdk-tools for PR 5568 (Azure#4387)

* we encourage folks to place their assets.jsons at the package level

* update generate-assets-json.ps1 to only include src/**/session-records so as to avoid picking up the duplicated 'target' sessionrecords

---------

Co-authored-by: scbedd <45376673+scbedd@users.noreply.github.com>

* Add support to ignore invalid cert common name (Azure#4361)

* update to version 7.4 for admin. update tests (Azure#4388)

* update proxy version to include Info/Active against individual sessions + allow delayed response (Azure#4391)

Co-authored-by: scbedd <45376673+scbedd@users.noreply.github.com>

* Sync eng/common directory with azure-sdk-tools for PR 5540 (Azure#4396)

* add parameter to set cadl emitter options

* remove emitter name in the additional parameter

---------

Co-authored-by: chunyu3 <chunyu@microsoft.com>

* Follow-up to update changelog to reflect community contribution (Azure#4393)

* Follow-up to update changelog to reflect community contribution

* Upgrade cspell version from 0.1 to 0.2

* logging api post request body (Azure#4404)

Co-authored-by: Albert Cheng <albertcheng@microsoft.com>

* Sync eng/common directory with azure-sdk-tools for PR 5595 (Azure#4400)

* Use "npm ci" to install cspell and respect package-lock.json

* Review feedback

* Pipe npm ci output to Write-Host

---------

Co-authored-by: Daniel Jurek <djurek@microsoft.com>

---------

Co-authored-by: George Arama <50641385+gearama@users.noreply.github.com>
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
Co-authored-by: Scott Beddall <45376673+scbedd@users.noreply.github.com>
Co-authored-by: Praven Kuttappan <55455725+praveenkuttappan@users.noreply.github.com>
Co-authored-by: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com>
Co-authored-by: Mike Harder <mharder@microsoft.com>
Co-authored-by: JinmingHu <jinmhu@microsoft.com>
Co-authored-by: Konrad Jamrozik <kojamroz@microsoft.com>
Co-authored-by: chunyu3 <chunyu@microsoft.com>
Co-authored-by: Ahson Khan <ahson_ahmedk@yahoo.com>
Co-authored-by: Albert Cheng <albertcheng@microsoft.com>
Co-authored-by: Daniel Jurek <djurek@microsoft.com>
antkmsft pushed a commit that referenced this issue Apr 5, 2023
Co-authored-by: Konrad Jamrozik <kojamroz@microsoft.com>
@github-actions github-actions bot locked and limited conversation to collaborators Apr 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
blocking-release Blocks release Client This issue points to a problem in the data-plane of the library. feature-request This issue requires a new behavior in the product in order be resolved. KeyVault
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants