@@ -46,8 +46,8 @@ func init() {
46
46
}
47
47
48
48
type manager struct {
49
- c * config
50
- gw gateway.GatewayAPIClient
49
+ c * config
50
+ gateway * pool. Selector [ gateway.GatewayAPIClient ]
51
51
}
52
52
53
53
type config struct {
@@ -64,11 +64,11 @@ func New(m map[string]interface{}) (auth.Manager, error) {
64
64
if err := mgr .Configure (m ); err != nil {
65
65
return nil , err
66
66
}
67
- gw , err := pool .GetGatewayServiceClient (mgr .c .GatewayAddr )
67
+ gw , err := pool .GatewaySelector (mgr .c .GatewayAddr )
68
68
if err != nil {
69
69
return nil , err
70
70
}
71
- mgr .gw = gw
71
+ mgr .gateway = gw
72
72
73
73
return & mgr , nil
74
74
}
@@ -84,8 +84,13 @@ func (m *manager) Configure(ml map[string]interface{}) error {
84
84
85
85
func (m * manager ) Authenticate (ctx context.Context , ocmshare , sharedSecret string ) (* userpb.User , map [string ]* authpb.Scope , error ) {
86
86
log := appctx .GetLogger (ctx ).With ().Str ("ocmshare" , ocmshare ).Logger ()
87
+ gwc , err := m .gateway .Next ()
88
+ if err != nil {
89
+ return nil , nil , err
90
+ }
91
+
87
92
// We need to use GetOCMShareByToken, as GetOCMShare would require a user in the context
88
- shareRes , err := m . gw .GetOCMShareByToken (ctx , & ocm.GetOCMShareByTokenRequest {
93
+ shareRes , err := gwc .GetOCMShareByToken (ctx , & ocm.GetOCMShareByTokenRequest {
89
94
Token : sharedSecret ,
90
95
})
91
96
@@ -128,7 +133,7 @@ func (m *manager) Authenticate(ctx context.Context, ocmshare, sharedSecret strin
128
133
},
129
134
}
130
135
131
- userRes , err := m . gw .GetAcceptedUser (ctx , & ocminvite.GetAcceptedUserRequest {
136
+ userRes , err := gwc .GetAcceptedUser (ctx , & ocminvite.GetAcceptedUserRequest {
132
137
RemoteUserId : u ,
133
138
Opaque : o ,
134
139
})
0 commit comments