From 2dea454b26de1180d96381d7b8fd92abf2e43907 Mon Sep 17 00:00:00 2001 From: rithu john Date: Fri, 28 Apr 2017 11:54:39 -0700 Subject: [PATCH] server/api: return empty list of refresh tokens if user does not have any --- server/api.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/server/api.go b/server/api.go index 738966a2..ae1fe949 100644 --- a/server/api.go +++ b/server/api.go @@ -215,13 +215,20 @@ func (d dexAPI) ListRefresh(ctx context.Context, req *api.ListRefreshReq) (*api. return nil, err } + var refreshTokenRefs []*api.RefreshTokenRef offlineSessions, err := d.s.GetOfflineSessions(id.UserId, id.ConnId) 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 } - var refreshTokenRefs []*api.RefreshTokenRef for _, session := range offlineSessions.Refresh { r := api.RefreshTokenRef{ Id: session.ID,