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
Event Hubs allows for authorization using a shared key and shared access signature that is currently only supported when using a connection string. To align with best practices, we would like to guide library users to down the path of using Identity credentials for production applications. In order to provide a unified approach to authorization around the use of a credential for all scenarios, a service-specific credential type that mimics the API of the TokenCredential is desirable.
Scope of Work
Design and implementation of a EventHubsSharedAccessKeyCredential type where the API mimics the TokenCredential form.
The credential should NOT derive from TokenCredential to avoid accidentally attempting to use it with another service.
The credential should support creation using a shared key name and shared key value combination.
The credential should support creation using a shared access signature.
The credential should allow the shared key and value or the shared access signature to be updated without stopping or recreating the associated clients.
The proposed surface area of the credential, as well as changes to the client API to accept it should be reviewed with the language architect, and approval obtained. Full board review is not necessary.
Success Criteria
The design of a credential type detailed by the scope has been completed and approved by the language architect.
The credential has been implemented according to the design and is exposed as part of the public API of the library.
All clients that accept a TokenCredential also accept the new EventHubsSharedAccessKeyCredential in a similar manner,
The tests necessary for its validation have been created or adjusted and pass reliably.
The existing test suite continues to produce deterministic results and pass reliably.
Shared Access Key and Shared Access Signature credential support was added to event hubs as part of #14423 and included in version 5.5.0 of the @azure/event-hubs package.
Summary
Event Hubs allows for authorization using a shared key and shared access signature that is currently only supported when using a connection string. To align with best practices, we would like to guide library users to down the path of using Identity credentials for production applications. In order to provide a unified approach to authorization around the use of a credential for all scenarios, a service-specific credential type that mimics the API of the
TokenCredential
is desirable.Scope of Work
Design and implementation of a
EventHubsSharedAccessKeyCredential
type where the API mimics theTokenCredential
form.The credential should NOT derive from
TokenCredential
to avoid accidentally attempting to use it with another service.The credential should support creation using a shared key name and shared key value combination.
The credential should support creation using a shared access signature.
The credential should allow the shared key and value or the shared access signature to be updated without stopping or recreating the associated clients.
The proposed surface area of the credential, as well as changes to the client API to accept it should be reviewed with the language architect, and approval obtained. Full board review is not necessary.
Success Criteria
The design of a credential type detailed by the scope has been completed and approved by the language architect.
The credential has been implemented according to the design and is exposed as part of the public API of the library.
All clients that accept a
TokenCredential
also accept the newEventHubsSharedAccessKeyCredential
in a similar manner,The tests necessary for its validation have been created or adjusted and pass reliably.
The existing test suite continues to produce deterministic results and pass reliably.
References
The text was updated successfully, but these errors were encountered: