[ https://issues.apache.org/jira/browse/TINKERPOP-2747?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17700026#comment-17700026 ]
ASF GitHub Bot commented on TINKERPOP-2747: ------------------------------------------- disq commented on code in PR #1989: URL: https://github.com/apache/tinkerpop/pull/1989#discussion_r1135197255 ########## gremlin-go/driver/authInfo.go: ########## @@ -55,3 +66,30 @@ func BasicAuthInfo(username string, password string) *AuthInfo { func HeaderAuthInfo(header http.Header) *AuthInfo { return &AuthInfo{Header: header} } + +// DynamicAuth is an AuthInfoProvider that allows dynamic credential generation. +type DynamicAuth struct { + fn func() AuthInfoProvider +} + +var ( + _ AuthInfoProvider = (*DynamicAuth)(nil) + + // NoopAuthInfo is a no-op AuthInfoProvider that can be used to disable authentication. + NoopAuthInfo = NewDynamicAuth(func() AuthInfoProvider { return &AuthInfo{} }) Review Comment: This is implemented as dynamic auth so that the returning value can't be changed, e.g. by setting the public fields of the AuthInfo struct after use. > Add function callback hooks for gremlin-go authentication > --------------------------------------------------------- > > Key: TINKERPOP-2747 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2747 > Project: TinkerPop > Issue Type: Improvement > Components: go > Reporter: Lyndon Bauto > Priority: Major > > Gremlin Go currently supports custom authentication headers. > > For long running connections that reconnect over time, these headers can > expire. > > We should allow injection of a function pointer to generate the header. -- This message was sent by Atlassian Jira (v8.20.10#820010)