idp: delete sessions on refresh error, handle zero times in oauth/id tokens for refresh (#961)

This commit is contained in:
Caleb Doxsey 2020-06-22 08:49:28 -06:00 committed by GitHub
parent 452c9be06d
commit b3ccdfe00f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 82 additions and 41 deletions

22
cache/session.go vendored
View file

@ -51,14 +51,32 @@ func (srv *SessionServer) Add(ctx context.Context, req *session.AddRequest) (*se
Str("session_id", req.GetSession().GetId()).
Msg("add")
data, err := ptypes.MarshalAny(req.GetSession())
s := req.GetSession()
data, err := ptypes.MarshalAny(s)
if err != nil {
return nil, err
}
res, err := srv.dataBrokerClient.Set(ctx, &databroker.SetRequest{
Type: data.GetTypeUrl(),
Id: req.GetSession().GetId(),
Id: s.GetId(),
Data: data,
})
if err != nil {
return nil, err
}
s.Version = res.GetServerVersion()
data, err = ptypes.MarshalAny(s)
if err != nil {
return nil, err
}
res, err = srv.dataBrokerClient.Set(ctx, &databroker.SetRequest{
Type: data.GetTypeUrl(),
Id: s.GetId(),
Data: data,
})
if err != nil {