feat(sasl): add OAUTHBEARER mechanism (RFC 7628)#1418
Open
pilat wants to merge 1 commit intosegmentio:mainfrom
Open
feat(sasl): add OAUTHBEARER mechanism (RFC 7628)#1418pilat wants to merge 1 commit intosegmentio:mainfrom
pilat wants to merge 1 commit intosegmentio:mainfrom
Conversation
ef6d33b to
6d7d4c9
Compare
4dfa466 to
36d0962
Compare
36d0962 to
d312cdd
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Implements OAUTHBEARER SASL authentication mechanism per RFC 7628.
Closes #238
Changes
sasl/oauthbearerpackage withMechanismtypeTokenFunccallback enables automatic token refresh on reconnectionErrortype witherrors.Is/errors.AssupportDesign
Uses
TokenFunc func(ctx context.Context) (string, error)callback instead of static token field. This allows token refresh when connections are re-established, which is essential for short-lived OAuth tokens.Example usage:
Testing