Commit 921090f0 authored by rithu john's avatar rithu john

api: Update timestamp type for RefreshTokenRef to int64.

parent 84af5273
...@@ -115,7 +115,7 @@ func (m *DeleteClientReq) String() string { return proto.CompactTextS ...@@ -115,7 +115,7 @@ func (m *DeleteClientReq) String() string { return proto.CompactTextS
func (*DeleteClientReq) ProtoMessage() {} func (*DeleteClientReq) ProtoMessage() {}
func (*DeleteClientReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } func (*DeleteClientReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
// DeleteClientResp determines if the. // DeleteClientResp determines if the client is deleted successfully.
type DeleteClientResp struct { type DeleteClientResp struct {
NotFound bool `protobuf:"varint,1,opt,name=not_found,json=notFound" json:"not_found,omitempty"` NotFound bool `protobuf:"varint,1,opt,name=not_found,json=notFound" json:"not_found,omitempty"`
} }
...@@ -263,8 +263,8 @@ type RefreshTokenRef struct { ...@@ -263,8 +263,8 @@ type RefreshTokenRef struct {
// ID of the refresh token. // ID of the refresh token.
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId" json:"client_id,omitempty"` ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId" json:"client_id,omitempty"`
CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt" json:"created_at,omitempty"` CreatedAt int64 `protobuf:"varint,5,opt,name=created_at,json=createdAt" json:"created_at,omitempty"`
LastUsed string `protobuf:"bytes,4,opt,name=last_used,json=lastUsed" json:"last_used,omitempty"` LastUsed int64 `protobuf:"varint,6,opt,name=last_used,json=lastUsed" json:"last_used,omitempty"`
} }
func (m *RefreshTokenRef) Reset() { *m = RefreshTokenRef{} } func (m *RefreshTokenRef) Reset() { *m = RefreshTokenRef{} }
...@@ -300,6 +300,7 @@ func (m *ListRefreshResp) GetRefreshTokens() []*RefreshTokenRef { ...@@ -300,6 +300,7 @@ func (m *ListRefreshResp) GetRefreshTokens() []*RefreshTokenRef {
return nil return nil
} }
// RevokeRefreshReq is a request to revoke the refresh token of the user-client pair.
type RevokeRefreshReq struct { type RevokeRefreshReq struct {
// The "sub" claim returned in the ID Token. // The "sub" claim returned in the ID Token.
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId" json:"user_id,omitempty"` UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId" json:"user_id,omitempty"`
...@@ -311,7 +312,9 @@ func (m *RevokeRefreshReq) String() string { return proto.CompactText ...@@ -311,7 +312,9 @@ func (m *RevokeRefreshReq) String() string { return proto.CompactText
func (*RevokeRefreshReq) ProtoMessage() {} func (*RevokeRefreshReq) ProtoMessage() {}
func (*RevokeRefreshReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } func (*RevokeRefreshReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
// RevokeRefreshResp determines if the refresh token is revoked successfully.
type RevokeRefreshResp struct { type RevokeRefreshResp struct {
// Set to true is refresh token was not found and token could not be revoked.
NotFound bool `protobuf:"varint,1,opt,name=not_found,json=notFound" json:"not_found,omitempty"` NotFound bool `protobuf:"varint,1,opt,name=not_found,json=notFound" json:"not_found,omitempty"`
} }
...@@ -372,6 +375,7 @@ type DexClient interface { ...@@ -372,6 +375,7 @@ type DexClient interface {
// ListRefresh lists all the refresh token entries for a particular user. // ListRefresh lists all the refresh token entries for a particular user.
ListRefresh(ctx context.Context, in *ListRefreshReq, opts ...grpc.CallOption) (*ListRefreshResp, error) ListRefresh(ctx context.Context, in *ListRefreshReq, opts ...grpc.CallOption) (*ListRefreshResp, error)
// RevokeRefresh revokes the refresh token for the provided user-client pair. // RevokeRefresh revokes the refresh token for the provided user-client pair.
//
// Note that each user-client pair can have only one refresh token at a time. // Note that each user-client pair can have only one refresh token at a time.
RevokeRefresh(ctx context.Context, in *RevokeRefreshReq, opts ...grpc.CallOption) (*RevokeRefreshResp, error) RevokeRefresh(ctx context.Context, in *RevokeRefreshReq, opts ...grpc.CallOption) (*RevokeRefreshResp, error)
} }
...@@ -485,6 +489,7 @@ type DexServer interface { ...@@ -485,6 +489,7 @@ type DexServer interface {
// ListRefresh lists all the refresh token entries for a particular user. // ListRefresh lists all the refresh token entries for a particular user.
ListRefresh(context.Context, *ListRefreshReq) (*ListRefreshResp, error) ListRefresh(context.Context, *ListRefreshReq) (*ListRefreshResp, error)
// RevokeRefresh revokes the refresh token for the provided user-client pair. // RevokeRefresh revokes the refresh token for the provided user-client pair.
//
// Note that each user-client pair can have only one refresh token at a time. // Note that each user-client pair can have only one refresh token at a time.
RevokeRefresh(context.Context, *RevokeRefreshReq) (*RevokeRefreshResp, error) RevokeRefresh(context.Context, *RevokeRefreshReq) (*RevokeRefreshResp, error)
} }
...@@ -703,54 +708,55 @@ var _Dex_serviceDesc = grpc.ServiceDesc{ ...@@ -703,54 +708,55 @@ var _Dex_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("api/api.proto", fileDescriptor0) } func init() { proto.RegisterFile("api/api.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{ var fileDescriptor0 = []byte{
// 781 bytes of a gzipped FileDescriptorProto // 786 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x55, 0x6d, 0x4f, 0xdb, 0x48, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x55, 0x6d, 0x4f, 0xdb, 0x48,
0x10, 0xce, 0x1b, 0x89, 0x33, 0x79, 0xdf, 0xe3, 0xc5, 0x04, 0x9d, 0x04, 0x8b, 0x4e, 0x02, 0x9d, 0x10, 0x4e, 0xe2, 0x90, 0x38, 0x93, 0xf7, 0x3d, 0x5e, 0x4c, 0xd0, 0x49, 0xb0, 0xe8, 0x24, 0xd0,
0x04, 0x07, 0x27, 0xb5, 0x52, 0x51, 0x69, 0x2b, 0x68, 0x0b, 0x52, 0x55, 0x21, 0xab, 0xe9, 0xc7, 0x49, 0x70, 0x70, 0xd2, 0x9d, 0x74, 0xe8, 0xb8, 0x3b, 0xc1, 0xb5, 0x20, 0x55, 0x15, 0xb2, 0x9a,
0x5a, 0x26, 0x1e, 0x60, 0x85, 0xb1, 0xdd, 0xdd, 0x0d, 0xa1, 0xfd, 0x77, 0x55, 0xff, 0x58, 0xb5, 0x7e, 0xac, 0x65, 0xe2, 0x01, 0x56, 0x18, 0xdb, 0xdd, 0xdd, 0x10, 0xda, 0x7f, 0x57, 0xf5, 0x8f,
0xeb, 0x4d, 0xb0, 0x9d, 0xb4, 0xe1, 0x9b, 0xe7, 0xd9, 0x99, 0x67, 0x76, 0x9e, 0x9d, 0x19, 0x43, 0x55, 0xbb, 0xde, 0x04, 0xdb, 0x49, 0x1b, 0xbe, 0x79, 0x9e, 0x9d, 0x79, 0x66, 0xe7, 0xd9, 0x99,
0xcb, 0x8b, 0xd9, 0xbe, 0x17, 0xb3, 0xbd, 0x98, 0x47, 0x32, 0x22, 0x65, 0x2f, 0x66, 0xf4, 0x47, 0x31, 0xb4, 0xfd, 0x84, 0x1d, 0xfa, 0x09, 0x3b, 0x48, 0x78, 0x2c, 0x63, 0x62, 0xf9, 0x09, 0xa3,
0x11, 0xaa, 0x27, 0x01, 0xc3, 0x50, 0x92, 0x36, 0x94, 0x98, 0x6f, 0x17, 0x37, 0x8b, 0x3b, 0x75, 0x5f, 0xca, 0x50, 0x3b, 0x0b, 0x19, 0x46, 0x92, 0x74, 0xa0, 0xc2, 0x02, 0xa7, 0xbc, 0x5d, 0xde,
0xa7, 0xc4, 0x7c, 0xb2, 0x0a, 0x55, 0x81, 0x43, 0x8e, 0xd2, 0x2e, 0x69, 0xcc, 0x58, 0x64, 0x1b, 0x6b, 0xb8, 0x15, 0x16, 0x90, 0x75, 0xa8, 0x09, 0x1c, 0x71, 0x94, 0x4e, 0x45, 0x63, 0xc6, 0x22,
0x5a, 0x1c, 0x7d, 0xc6, 0x71, 0x28, 0xdd, 0x11, 0x67, 0xc2, 0x2e, 0x6f, 0x96, 0x77, 0xea, 0x4e, 0xbb, 0xd0, 0xe6, 0x18, 0x30, 0x8e, 0x23, 0xe9, 0x8d, 0x39, 0x13, 0x8e, 0xb5, 0x6d, 0xed, 0x35,
0x73, 0x02, 0x0e, 0x38, 0x13, 0xca, 0x49, 0xf2, 0x91, 0x90, 0xe8, 0xbb, 0x31, 0x22, 0x17, 0x76, 0xdc, 0xd6, 0x14, 0x1c, 0x72, 0x26, 0x94, 0x93, 0xe4, 0x63, 0x21, 0x31, 0xf0, 0x12, 0x44, 0x2e,
0x25, 0x71, 0x32, 0xe0, 0x85, 0xc2, 0x54, 0x86, 0x78, 0x74, 0x19, 0xb0, 0xa1, 0xbd, 0xb4, 0x59, 0x9c, 0x6a, 0xea, 0x64, 0xc0, 0x2b, 0x85, 0xa9, 0x0c, 0xc9, 0xf8, 0x3a, 0x64, 0x23, 0x67, 0x65,
0xdc, 0xb1, 0x1c, 0x63, 0x11, 0x02, 0x95, 0xd0, 0xbb, 0x43, 0xbb, 0xaa, 0xf3, 0xea, 0x6f, 0xb2, 0xbb, 0xbc, 0x67, 0xbb, 0xc6, 0x22, 0x04, 0xaa, 0x91, 0xff, 0x80, 0x4e, 0x4d, 0xe7, 0xd5, 0xdf,
0x0e, 0x56, 0x10, 0x5d, 0x47, 0xee, 0x88, 0x07, 0x76, 0x4d, 0xe3, 0x35, 0x65, 0x0f, 0x78, 0x40, 0x64, 0x13, 0xec, 0x30, 0xbe, 0x8d, 0xbd, 0x31, 0x0f, 0x9d, 0xba, 0xc6, 0xeb, 0xca, 0x1e, 0xf2,
0x9f, 0x41, 0xe7, 0x84, 0xa3, 0x27, 0x31, 0x29, 0xc4, 0xc1, 0xaf, 0x64, 0x1b, 0xaa, 0x43, 0x6d, 0x90, 0xfe, 0x01, 0xdd, 0x33, 0x8e, 0xbe, 0xc4, 0xb4, 0x10, 0x17, 0x3f, 0x92, 0x5d, 0xa8, 0x8d,
0xe8, 0x7a, 0x1a, 0x87, 0x8d, 0x3d, 0x55, 0xb7, 0x39, 0x37, 0x47, 0xf4, 0x0b, 0x74, 0xb3, 0x71, 0xb4, 0xa1, 0xeb, 0x69, 0x1e, 0x37, 0x0f, 0x54, 0xdd, 0xe6, 0xdc, 0x1c, 0xd1, 0x0f, 0xd0, 0xcb,
0x22, 0x26, 0xff, 0x40, 0xdb, 0x0b, 0x38, 0x7a, 0xfe, 0x37, 0x17, 0x1f, 0x98, 0x90, 0x42, 0x13, 0xc7, 0x89, 0x84, 0xfc, 0x02, 0x1d, 0x3f, 0xe4, 0xe8, 0x07, 0x9f, 0x3c, 0x7c, 0x62, 0x42, 0x0a,
0x58, 0x4e, 0xcb, 0xa0, 0x6f, 0x35, 0x98, 0xe2, 0x2f, 0xfd, 0x9e, 0x7f, 0x0b, 0x3a, 0xa7, 0x18, 0x4d, 0x60, 0xbb, 0x6d, 0x83, 0xfe, 0xaf, 0xc1, 0x0c, 0x7f, 0xe5, 0xfb, 0xfc, 0x3b, 0xd0, 0x3d,
0x60, 0xfa, 0x5e, 0x39, 0x8d, 0xe9, 0x3e, 0x74, 0xb3, 0x2e, 0x22, 0x26, 0x1b, 0x50, 0x0f, 0x23, 0xc7, 0x10, 0xb3, 0xf7, 0x2a, 0x68, 0x4c, 0x0f, 0xa1, 0x97, 0x77, 0x11, 0x09, 0xd9, 0x82, 0x46,
0xe9, 0x5e, 0x45, 0xa3, 0xd0, 0x37, 0xd9, 0xad, 0x30, 0x92, 0xef, 0x94, 0x4d, 0x19, 0x58, 0x17, 0x14, 0x4b, 0xef, 0x26, 0x1e, 0x47, 0x81, 0xc9, 0x6e, 0x47, 0xb1, 0x7c, 0xa5, 0x6c, 0xca, 0xc0,
0x9e, 0x10, 0xe3, 0x88, 0xfb, 0x64, 0x19, 0x96, 0xf0, 0xce, 0x63, 0x81, 0xe1, 0x4b, 0x0c, 0x25, 0xbe, 0xf2, 0x85, 0x98, 0xc4, 0x3c, 0x20, 0xab, 0xb0, 0x82, 0x0f, 0x3e, 0x0b, 0x0d, 0x5f, 0x6a,
0xde, 0x8d, 0x27, 0x6e, 0xf4, 0xc5, 0x9a, 0x8e, 0xfe, 0x26, 0x7d, 0xb0, 0x46, 0x02, 0xb9, 0x16, 0x28, 0xf1, 0xee, 0x7c, 0x71, 0xa7, 0x2f, 0xd6, 0x72, 0xf5, 0x37, 0x19, 0x80, 0x3d, 0x16, 0xc8,
0xb5, 0xac, 0x9d, 0xa7, 0x36, 0x59, 0x83, 0x9a, 0xfa, 0x76, 0x99, 0x6f, 0x57, 0x92, 0x77, 0x56, 0xb5, 0xa8, 0x96, 0x76, 0x9e, 0xd9, 0x64, 0x03, 0xea, 0xea, 0xdb, 0x63, 0x81, 0x53, 0x4d, 0xdf,
0xe6, 0xb9, 0x4f, 0x8f, 0xa1, 0x97, 0xc8, 0x33, 0x49, 0xa8, 0x0a, 0xd8, 0x05, 0x2b, 0x36, 0xa6, 0x59, 0x99, 0x97, 0x01, 0x3d, 0x85, 0x7e, 0x2a, 0xcf, 0x34, 0xa1, 0x2a, 0x60, 0x1f, 0xec, 0xc4,
0x91, 0xb6, 0xa5, 0x4b, 0x9f, 0xfa, 0x4c, 0x8f, 0xe9, 0x11, 0x90, 0x7c, 0xfc, 0x93, 0x05, 0xa6, 0x98, 0x46, 0xda, 0xb6, 0x2e, 0x7d, 0xe6, 0x33, 0x3b, 0xa6, 0x27, 0x40, 0x8a, 0xf1, 0x2f, 0x16,
0xd7, 0xd0, 0x1b, 0xc4, 0x7e, 0x2e, 0xf9, 0xfc, 0x82, 0xd7, 0xc1, 0x0a, 0x71, 0xec, 0xa6, 0x8a, 0x98, 0xde, 0x42, 0x7f, 0x98, 0x04, 0x85, 0xe4, 0x8b, 0x0b, 0xde, 0x04, 0x3b, 0xc2, 0x89, 0x97,
0xae, 0x85, 0x38, 0x3e, 0x53, 0x75, 0x6f, 0x41, 0x53, 0x1d, 0xe5, 0x6a, 0x6f, 0x84, 0x38, 0x1e, 0x29, 0xba, 0x1e, 0xe1, 0xe4, 0x42, 0xd5, 0xbd, 0x03, 0x2d, 0x75, 0x54, 0xa8, 0xbd, 0x19, 0xe1,
0x18, 0x88, 0x1e, 0x00, 0xc9, 0x27, 0x5a, 0xf4, 0x06, 0xbb, 0xd0, 0x4b, 0x1e, 0x6d, 0xe1, 0xdd, 0x64, 0x68, 0x20, 0x7a, 0x04, 0xa4, 0x98, 0x68, 0xd9, 0x1b, 0xec, 0x43, 0x3f, 0x7d, 0xb4, 0xa5,
0x14, 0x7b, 0xde, 0x75, 0x11, 0x7b, 0x0f, 0x3a, 0x1f, 0x98, 0x90, 0x29, 0x6e, 0xfa, 0x0a, 0xba, 0x77, 0x53, 0xec, 0x45, 0xd7, 0x65, 0xec, 0x7d, 0xe8, 0xbe, 0x61, 0x42, 0x66, 0xb8, 0xe9, 0x3f,
0x59, 0x48, 0xc4, 0xe4, 0x5f, 0xa8, 0x4f, 0x94, 0x56, 0x12, 0x96, 0x67, 0x5f, 0xe2, 0xf1, 0x9c, 0xd0, 0xcb, 0x43, 0x22, 0x21, 0xbf, 0x42, 0x63, 0xaa, 0xb4, 0x92, 0xd0, 0x9a, 0x7f, 0x89, 0xe7,
0x36, 0x01, 0x3e, 0x23, 0x17, 0x2c, 0x0a, 0x15, 0xdd, 0x73, 0x68, 0x4c, 0x2d, 0x11, 0x27, 0x73, 0x73, 0xda, 0x02, 0x78, 0x8f, 0x5c, 0xb0, 0x38, 0x52, 0x74, 0x7f, 0x42, 0x73, 0x66, 0x89, 0x24,
0xce, 0xef, 0x91, 0x9b, 0xab, 0x1b, 0x8b, 0x74, 0x41, 0x6d, 0x08, 0x2d, 0xe9, 0x92, 0xa3, 0x97, 0x9d, 0x73, 0xfe, 0x88, 0xdc, 0x5c, 0xdd, 0x58, 0xa4, 0x07, 0x6a, 0x43, 0x68, 0x49, 0x57, 0x5c,
0xc5, 0x77, 0xe8, 0x38, 0x78, 0xc5, 0x51, 0xdc, 0x7c, 0x8a, 0x6e, 0x31, 0x74, 0xf0, 0x6a, 0x66, 0xbd, 0x2c, 0x3e, 0x43, 0xd7, 0xc5, 0x1b, 0x8e, 0xe2, 0xee, 0x5d, 0x7c, 0x8f, 0x91, 0x8b, 0x37,
0x69, 0x6c, 0x40, 0x3d, 0xe9, 0x7e, 0xd5, 0x4f, 0xc9, 0xde, 0xb0, 0x12, 0xe0, 0xdc, 0x27, 0x7f, 0x73, 0x4b, 0x63, 0x0b, 0x1a, 0x69, 0xf7, 0xab, 0x7e, 0x4a, 0xf7, 0x86, 0x9d, 0x02, 0x97, 0x01,
0x03, 0x0c, 0x75, 0x47, 0xf8, 0xae, 0x27, 0xcd, 0x63, 0xd4, 0x0d, 0xf2, 0x46, 0xaa, 0xd8, 0xc0, 0xf9, 0x19, 0x60, 0xa4, 0x3b, 0x22, 0xf0, 0x7c, 0xa9, 0x67, 0xde, 0x72, 0x1b, 0x06, 0xf9, 0x4f,
0x13, 0x52, 0x3d, 0xd7, 0xa4, 0x17, 0x2d, 0x05, 0x0c, 0x04, 0x2a, 0xd1, 0xdb, 0x4a, 0x03, 0x93, 0xaa, 0xd8, 0xd0, 0x17, 0x52, 0x3d, 0x57, 0xa0, 0x67, 0xdf, 0x72, 0x6d, 0x05, 0x0c, 0x05, 0x2a,
0x5f, 0x29, 0x9e, 0x6a, 0xdc, 0x62, 0xa6, 0x71, 0x3f, 0x26, 0x0a, 0x4e, 0x5d, 0x45, 0x4c, 0x8e, 0xd1, 0x3b, 0x4a, 0x03, 0x93, 0x5f, 0x29, 0x9e, 0x69, 0xdc, 0x72, 0xae, 0x71, 0xdf, 0xa6, 0x0a,
0xa0, 0xcd, 0x13, 0xd3, 0x95, 0xea, 0xea, 0x13, 0xc9, 0x96, 0xb5, 0x64, 0xb9, 0xa2, 0x9c, 0x16, 0xce, 0x5c, 0x45, 0x42, 0x4e, 0xa0, 0xc3, 0x53, 0xd3, 0x93, 0xea, 0xea, 0x53, 0xc9, 0x56, 0xb5,
0x4f, 0x01, 0x82, 0x9e, 0x41, 0xd7, 0xc1, 0xfb, 0xe8, 0x16, 0x9f, 0x90, 0xfc, 0x8f, 0x02, 0xd0, 0x64, 0x85, 0xa2, 0xdc, 0x36, 0xcf, 0x00, 0x82, 0x5e, 0x40, 0xcf, 0xc5, 0xc7, 0xf8, 0x1e, 0x5f,
0xff, 0xa0, 0x97, 0x63, 0x5a, 0xd0, 0x0d, 0x87, 0x3f, 0x2b, 0x50, 0x3e, 0xc5, 0x07, 0xf2, 0x12, 0x90, 0xfc, 0x87, 0x02, 0xd0, 0xdf, 0xa0, 0x5f, 0x60, 0x5a, 0xd2, 0x0d, 0xc7, 0x5f, 0xab, 0x60,
0x9a, 0xe9, 0x5d, 0x45, 0x92, 0x8b, 0xe7, 0xd6, 0x5e, 0x7f, 0x65, 0x0e, 0x2a, 0x62, 0x5a, 0x50, 0x9d, 0xe3, 0x13, 0xf9, 0x1b, 0x5a, 0xd9, 0x5d, 0x45, 0xd2, 0x8b, 0x17, 0xd6, 0xde, 0x60, 0x6d,
0xe1, 0xe9, 0x3d, 0x63, 0xc2, 0x73, 0xdb, 0xc9, 0x84, 0xe7, 0x17, 0x12, 0x2d, 0x90, 0x13, 0x68, 0x01, 0x2a, 0x12, 0x5a, 0x52, 0xe1, 0xd9, 0x3d, 0x63, 0xc2, 0x0b, 0xdb, 0xc9, 0x84, 0x17, 0x17,
0x67, 0x47, 0x99, 0xac, 0xa6, 0x32, 0xa5, 0x5a, 0xb5, 0xbf, 0x36, 0x17, 0x9f, 0x90, 0x64, 0x27, 0x12, 0x2d, 0x91, 0x33, 0xe8, 0xe4, 0x47, 0x99, 0xac, 0x67, 0x32, 0x65, 0x5a, 0x75, 0xb0, 0xb1,
0xcd, 0x90, 0xcc, 0xcc, 0xb9, 0x21, 0x99, 0x1d, 0xcb, 0x84, 0x24, 0x3b, 0x50, 0x86, 0x64, 0x66, 0x10, 0x9f, 0x92, 0xe4, 0x27, 0xcd, 0x90, 0xcc, 0xcd, 0xb9, 0x21, 0x99, 0x1f, 0xcb, 0x94, 0x24,
0x20, 0x0d, 0xc9, 0xec, 0xf4, 0xd1, 0x02, 0x39, 0x86, 0x56, 0x7a, 0x9e, 0x84, 0x91, 0x23, 0x37, 0x3f, 0x50, 0x86, 0x64, 0x6e, 0x20, 0x0d, 0xc9, 0xfc, 0xf4, 0xd1, 0x12, 0x39, 0x85, 0x76, 0x76,
0x76, 0x46, 0x8e, 0xfc, 0xe4, 0xd1, 0x02, 0x39, 0x00, 0x78, 0x8f, 0xd2, 0xcc, 0x10, 0xe9, 0x68, 0x9e, 0x84, 0x91, 0xa3, 0x30, 0x76, 0x46, 0x8e, 0xe2, 0xe4, 0xd1, 0x12, 0x39, 0x02, 0x78, 0x8d,
0xb7, 0xc7, 0xf9, 0xea, 0x77, 0xb3, 0x80, 0x0e, 0x79, 0x01, 0x8d, 0x54, 0x4f, 0x92, 0xbf, 0xa6, 0xd2, 0xcc, 0x10, 0xe9, 0x6a, 0xb7, 0xe7, 0xf9, 0x1a, 0xf4, 0xf2, 0x80, 0x0e, 0xf9, 0x0b, 0x9a,
0xd4, 0x8f, 0x3d, 0xd5, 0x5f, 0x9e, 0x05, 0x75, 0xec, 0x6b, 0x68, 0x65, 0xba, 0x86, 0xac, 0x98, 0x99, 0x9e, 0x24, 0x3f, 0xcd, 0xa8, 0x9f, 0x7b, 0x6a, 0xb0, 0x3a, 0x0f, 0xea, 0xd8, 0x7f, 0xa1,
0xae, 0xcd, 0xf6, 0x64, 0x7f, 0x75, 0x1e, 0xac, 0x18, 0x2e, 0xab, 0xfa, 0x8f, 0xff, 0xff, 0xaf, 0x9d, 0xeb, 0x1a, 0xb2, 0x66, 0xba, 0x36, 0xdf, 0x93, 0x83, 0xf5, 0x45, 0xb0, 0x62, 0xb8, 0xae,
0x00, 0x00, 0x00, 0xff, 0xff, 0x08, 0x02, 0xa2, 0x47, 0x02, 0x08, 0x00, 0x00, 0xe9, 0x3f, 0xfe, 0xef, 0xdf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xbe, 0x1f, 0x5a, 0x3e, 0x02, 0x08,
0x00, 0x00,
} }
...@@ -105,8 +105,8 @@ message RefreshTokenRef { ...@@ -105,8 +105,8 @@ message RefreshTokenRef {
// ID of the refresh token. // ID of the refresh token.
string id = 1; string id = 1;
string client_id = 2; string client_id = 2;
string created_at = 3; int64 created_at = 5;
string last_used = 4; int64 last_used = 6;
} }
// ListRefreshReq is a request to enumerate the refresh tokens of a user. // ListRefreshReq is a request to enumerate the refresh tokens of a user.
......
...@@ -19,7 +19,7 @@ import ( ...@@ -19,7 +19,7 @@ import (
// apiVersion increases every time a new call is added to the API. Clients should use this info // apiVersion increases every time a new call is added to the API. Clients should use this info
// to determine if the server supports specific features. // to determine if the server supports specific features.
const apiVersion = 1 const apiVersion = 2
// NewAPI returns a server which implements the gRPC API interface. // NewAPI returns a server which implements the gRPC API interface.
func NewAPI(s storage.Storage, logger logrus.FieldLogger) api.DexServer { func NewAPI(s storage.Storage, logger logrus.FieldLogger) api.DexServer {
...@@ -226,8 +226,8 @@ func (d dexAPI) ListRefresh(ctx context.Context, req *api.ListRefreshReq) (*api. ...@@ -226,8 +226,8 @@ func (d dexAPI) ListRefresh(ctx context.Context, req *api.ListRefreshReq) (*api.
r := api.RefreshTokenRef{ r := api.RefreshTokenRef{
Id: session.ID, Id: session.ID,
ClientId: session.ClientID, ClientId: session.ClientID,
CreatedAt: session.CreatedAt.String(), CreatedAt: session.CreatedAt.Unix(),
LastUsed: session.LastUsed.String(), LastUsed: session.LastUsed.Unix(),
} }
refreshTokenRefs = append(refreshTokenRefs, &r) refreshTokenRefs = append(refreshTokenRefs, &r)
} }
......
...@@ -146,10 +146,21 @@ func TestRefreshToken(t *testing.T) { ...@@ -146,10 +146,21 @@ func TestRefreshToken(t *testing.T) {
UserId: subjectString, UserId: subjectString,
} }
if _, err := serv.ListRefresh(ctx, &listReq); err != nil { listResp, err := serv.ListRefresh(ctx, &listReq)
if err != nil {
t.Fatalf("Unable to list refresh tokens for user: %v", err) t.Fatalf("Unable to list refresh tokens for user: %v", err)
} }
for _, tok := range listResp.RefreshTokens {
if tok.CreatedAt != r.CreatedAt.Unix() {
t.Errorf("Expected CreatedAt timestamp %v, got %v", r.CreatedAt.Unix(), tok.CreatedAt)
}
if tok.LastUsed != r.LastUsed.Unix() {
t.Errorf("Expected LastUsed timestamp %v, got %v", r.LastUsed.Unix(), tok.LastUsed)
}
}
revokeReq := api.RevokeRefreshReq{ revokeReq := api.RevokeRefreshReq{
UserId: subjectString, UserId: subjectString,
ClientId: r.ClientID, ClientId: r.ClientID,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment