mirror of
https://github.com/pomerium/pomerium.git
synced 2025-05-29 17:07:24 +02:00
authorize: performance improvements (#3723)
This commit is contained in:
parent
a3cfe8fa42
commit
02df20f10a
4 changed files with 50 additions and 20 deletions
|
@ -87,12 +87,23 @@ func (a *Authorize) getDataBrokerSessionOrServiceAccount(
|
|||
return s, nil
|
||||
}
|
||||
|
||||
func (a *Authorize) getDataBrokerUser(ctx context.Context, userID string) (u *user.User, err error) {
|
||||
func (a *Authorize) getDataBrokerUser(
|
||||
ctx context.Context,
|
||||
userID string,
|
||||
dataBrokerRecordVersion uint64,
|
||||
) (*user.User, error) {
|
||||
ctx, span := trace.StartSpan(ctx, "authorize.getDataBrokerUser")
|
||||
defer span.End()
|
||||
|
||||
client := a.state.Load().dataBrokerClient
|
||||
record, err := getDataBrokerRecord(ctx, grpcutil.GetTypeURL(new(user.User)), userID, dataBrokerRecordVersion)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
u, err = user.Get(ctx, client, userID)
|
||||
return u, err
|
||||
var u user.User
|
||||
err = record.GetData().UnmarshalTo(&u)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &u, nil
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue