server/api: return empty list of refresh tokens if user does not have any
This commit is contained in:
parent
9514bf9afe
commit
aefdd6e004
@ -215,13 +215,20 @@ func (d dexAPI) ListRefresh(ctx context.Context, req *api.ListRefreshReq) (*api.
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var refreshTokenRefs []*api.RefreshTokenRef
|
||||||
offlineSessions, err := d.s.GetOfflineSessions(id.UserId, id.ConnId)
|
offlineSessions, err := d.s.GetOfflineSessions(id.UserId, id.ConnId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
d.logger.Errorf("api: failed to list refresh tokens: %v", err)
|
if err == storage.ErrNotFound {
|
||||||
|
// This means that this user-client pair does not have a refresh token yet.
|
||||||
|
// An empty list should be returned instead of an error.
|
||||||
|
return &api.ListRefreshResp{
|
||||||
|
RefreshTokens: refreshTokenRefs,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
d.logger.Errorf("api: failed to list refresh tokens %t here : %v", err == storage.ErrNotFound, err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var refreshTokenRefs []*api.RefreshTokenRef
|
|
||||||
for _, session := range offlineSessions.Refresh {
|
for _, session := range offlineSessions.Refresh {
|
||||||
r := api.RefreshTokenRef{
|
r := api.RefreshTokenRef{
|
||||||
Id: session.ID,
|
Id: session.ID,
|
||||||
|
Reference in New Issue
Block a user