3
0

Fix access token handling in fed node handshake

This commit is contained in:
Denis Arh
2021-09-22 21:29:51 +02:00
parent 92f225654c
commit 1c55cee2df
+10 -5
View File
@@ -30,7 +30,7 @@ type (
actionlog actionlog.Recorder
tokenEncoder auth.TokenEncoder
tokenEncoder auth.TokenGenerator
name string
host string
@@ -290,14 +290,18 @@ func (svc node) Pair(ctx context.Context, nodeID uint64) error {
return err
}
var accessToken string
// Generate JWT token for the federated user
authToken := svc.tokenEncoder.Encode(u)
accessToken, err = svc.tokenEncoder.Generate(ctx, u)
if err != nil {
return err
}
n.UpdatedBy = auth.GetIdentityFromContext(ctx).Identity()
n.UpdatedAt = now()
// Start handshake initialization remote node
if err = svc.handshaker.Init(ctx, n, authToken); err != nil {
if err = svc.handshaker.Init(ctx, n, accessToken); err != nil {
return err
}
@@ -357,14 +361,15 @@ func (svc node) HandshakeConfirm(ctx context.Context, nodeID uint64) error {
return err
}
var accessToken string
// Generate JWT token for the federated user
authToken := svc.tokenEncoder.Encode(u)
accessToken, err = svc.tokenEncoder.Generate(ctx, u)
n.UpdatedBy = auth.GetIdentityFromContext(ctx).Identity()
n.UpdatedAt = now()
// Complete handshake on remote node
if err = svc.handshaker.Complete(ctx, n, authToken); err != nil {
if err = svc.handshaker.Complete(ctx, n, accessToken); err != nil {
return err
}