Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
dex
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
hdacloud
dex
Commits
ee9738d6
Commit
ee9738d6
authored
8 years ago
by
rithu john
Browse files
Options
Downloads
Patches
Plain Diff
api: adding a gRPC call for listing passwords.
parent
19c22807
No related branches found
No related tags found
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
api/api.pb.go
+108
-40
108 additions, 40 deletions
api/api.pb.go
api/api.proto
+10
-0
10 additions, 0 deletions
api/api.proto
server/api.go
+23
-0
23 additions, 0 deletions
server/api.go
storage/conformance/conformance.go
+9
-0
9 additions, 0 deletions
storage/conformance/conformance.go
with
150 additions
and
40 deletions
api/api.pb.go
+
108
−
40
View file @
ee9738d6
...
@@ -21,6 +21,8 @@ It has these top-level messages:
...
@@ -21,6 +21,8 @@ It has these top-level messages:
UpdatePasswordResp
UpdatePasswordResp
DeletePasswordReq
DeletePasswordReq
DeletePasswordResp
DeletePasswordResp
ListPasswordReq
ListPasswordResp
VersionReq
VersionReq
VersionResp
VersionResp
*/
*/
...
@@ -202,6 +204,32 @@ func (m *DeletePasswordResp) String() string { return proto.CompactTe
...
@@ -202,6 +204,32 @@ func (m *DeletePasswordResp) String() string { return proto.CompactTe
func
(
*
DeletePasswordResp
)
ProtoMessage
()
{}
func
(
*
DeletePasswordResp
)
ProtoMessage
()
{}
func
(
*
DeletePasswordResp
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
11
}
}
func
(
*
DeletePasswordResp
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
11
}
}
// ListPasswordReq is a request to enumerate passwords.
type
ListPasswordReq
struct
{
}
func
(
m
*
ListPasswordReq
)
Reset
()
{
*
m
=
ListPasswordReq
{}
}
func
(
m
*
ListPasswordReq
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ListPasswordReq
)
ProtoMessage
()
{}
func
(
*
ListPasswordReq
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
12
}
}
// ListPasswordResp returs a list of passwords.
type
ListPasswordResp
struct
{
Passwords
[]
*
Password
`protobuf:"bytes,1,rep,name=passwords" json:"passwords,omitempty"`
}
func
(
m
*
ListPasswordResp
)
Reset
()
{
*
m
=
ListPasswordResp
{}
}
func
(
m
*
ListPasswordResp
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ListPasswordResp
)
ProtoMessage
()
{}
func
(
*
ListPasswordResp
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
13
}
}
func
(
m
*
ListPasswordResp
)
GetPasswords
()
[]
*
Password
{
if
m
!=
nil
{
return
m
.
Passwords
}
return
nil
}
// VersionReq is a request to fetch version info.
// VersionReq is a request to fetch version info.
type
VersionReq
struct
{
type
VersionReq
struct
{
}
}
...
@@ -209,7 +237,7 @@ type VersionReq struct {
...
@@ -209,7 +237,7 @@ type VersionReq struct {
func
(
m
*
VersionReq
)
Reset
()
{
*
m
=
VersionReq
{}
}
func
(
m
*
VersionReq
)
Reset
()
{
*
m
=
VersionReq
{}
}
func
(
m
*
VersionReq
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
m
*
VersionReq
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
VersionReq
)
ProtoMessage
()
{}
func
(
*
VersionReq
)
ProtoMessage
()
{}
func
(
*
VersionReq
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
1
2
}
}
func
(
*
VersionReq
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
1
4
}
}
// VersionResp holds the version info of components.
// VersionResp holds the version info of components.
type
VersionResp
struct
{
type
VersionResp
struct
{
...
@@ -223,7 +251,7 @@ type VersionResp struct {
...
@@ -223,7 +251,7 @@ type VersionResp struct {
func
(
m
*
VersionResp
)
Reset
()
{
*
m
=
VersionResp
{}
}
func
(
m
*
VersionResp
)
Reset
()
{
*
m
=
VersionResp
{}
}
func
(
m
*
VersionResp
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
m
*
VersionResp
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
VersionResp
)
ProtoMessage
()
{}
func
(
*
VersionResp
)
ProtoMessage
()
{}
func
(
*
VersionResp
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
1
3
}
}
func
(
*
VersionResp
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
1
5
}
}
func
init
()
{
func
init
()
{
proto
.
RegisterType
((
*
Client
)(
nil
),
"api.Client"
)
proto
.
RegisterType
((
*
Client
)(
nil
),
"api.Client"
)
...
@@ -238,6 +266,8 @@ func init() {
...
@@ -238,6 +266,8 @@ func init() {
proto
.
RegisterType
((
*
UpdatePasswordResp
)(
nil
),
"api.UpdatePasswordResp"
)
proto
.
RegisterType
((
*
UpdatePasswordResp
)(
nil
),
"api.UpdatePasswordResp"
)
proto
.
RegisterType
((
*
DeletePasswordReq
)(
nil
),
"api.DeletePasswordReq"
)
proto
.
RegisterType
((
*
DeletePasswordReq
)(
nil
),
"api.DeletePasswordReq"
)
proto
.
RegisterType
((
*
DeletePasswordResp
)(
nil
),
"api.DeletePasswordResp"
)
proto
.
RegisterType
((
*
DeletePasswordResp
)(
nil
),
"api.DeletePasswordResp"
)
proto
.
RegisterType
((
*
ListPasswordReq
)(
nil
),
"api.ListPasswordReq"
)
proto
.
RegisterType
((
*
ListPasswordResp
)(
nil
),
"api.ListPasswordResp"
)
proto
.
RegisterType
((
*
VersionReq
)(
nil
),
"api.VersionReq"
)
proto
.
RegisterType
((
*
VersionReq
)(
nil
),
"api.VersionReq"
)
proto
.
RegisterType
((
*
VersionResp
)(
nil
),
"api.VersionResp"
)
proto
.
RegisterType
((
*
VersionResp
)(
nil
),
"api.VersionResp"
)
}
}
...
@@ -263,6 +293,8 @@ type DexClient interface {
...
@@ -263,6 +293,8 @@ type DexClient interface {
UpdatePassword
(
ctx
context
.
Context
,
in
*
UpdatePasswordReq
,
opts
...
grpc
.
CallOption
)
(
*
UpdatePasswordResp
,
error
)
UpdatePassword
(
ctx
context
.
Context
,
in
*
UpdatePasswordReq
,
opts
...
grpc
.
CallOption
)
(
*
UpdatePasswordResp
,
error
)
// DeletePassword deletes the password.
// DeletePassword deletes the password.
DeletePassword
(
ctx
context
.
Context
,
in
*
DeletePasswordReq
,
opts
...
grpc
.
CallOption
)
(
*
DeletePasswordResp
,
error
)
DeletePassword
(
ctx
context
.
Context
,
in
*
DeletePasswordReq
,
opts
...
grpc
.
CallOption
)
(
*
DeletePasswordResp
,
error
)
// ListPassword lists all password entries.
ListPasswords
(
ctx
context
.
Context
,
in
*
ListPasswordReq
,
opts
...
grpc
.
CallOption
)
(
*
ListPasswordResp
,
error
)
// GetVersion returns version information of the server.
// GetVersion returns version information of the server.
GetVersion
(
ctx
context
.
Context
,
in
*
VersionReq
,
opts
...
grpc
.
CallOption
)
(
*
VersionResp
,
error
)
GetVersion
(
ctx
context
.
Context
,
in
*
VersionReq
,
opts
...
grpc
.
CallOption
)
(
*
VersionResp
,
error
)
}
}
...
@@ -320,6 +352,15 @@ func (c *dexClient) DeletePassword(ctx context.Context, in *DeletePasswordReq, o
...
@@ -320,6 +352,15 @@ func (c *dexClient) DeletePassword(ctx context.Context, in *DeletePasswordReq, o
return
out
,
nil
return
out
,
nil
}
}
func
(
c
*
dexClient
)
ListPasswords
(
ctx
context
.
Context
,
in
*
ListPasswordReq
,
opts
...
grpc
.
CallOption
)
(
*
ListPasswordResp
,
error
)
{
out
:=
new
(
ListPasswordResp
)
err
:=
grpc
.
Invoke
(
ctx
,
"/api.Dex/ListPasswords"
,
in
,
out
,
c
.
cc
,
opts
...
)
if
err
!=
nil
{
return
nil
,
err
}
return
out
,
nil
}
func
(
c
*
dexClient
)
GetVersion
(
ctx
context
.
Context
,
in
*
VersionReq
,
opts
...
grpc
.
CallOption
)
(
*
VersionResp
,
error
)
{
func
(
c
*
dexClient
)
GetVersion
(
ctx
context
.
Context
,
in
*
VersionReq
,
opts
...
grpc
.
CallOption
)
(
*
VersionResp
,
error
)
{
out
:=
new
(
VersionResp
)
out
:=
new
(
VersionResp
)
err
:=
grpc
.
Invoke
(
ctx
,
"/api.Dex/GetVersion"
,
in
,
out
,
c
.
cc
,
opts
...
)
err
:=
grpc
.
Invoke
(
ctx
,
"/api.Dex/GetVersion"
,
in
,
out
,
c
.
cc
,
opts
...
)
...
@@ -342,6 +383,8 @@ type DexServer interface {
...
@@ -342,6 +383,8 @@ type DexServer interface {
UpdatePassword
(
context
.
Context
,
*
UpdatePasswordReq
)
(
*
UpdatePasswordResp
,
error
)
UpdatePassword
(
context
.
Context
,
*
UpdatePasswordReq
)
(
*
UpdatePasswordResp
,
error
)
// DeletePassword deletes the password.
// DeletePassword deletes the password.
DeletePassword
(
context
.
Context
,
*
DeletePasswordReq
)
(
*
DeletePasswordResp
,
error
)
DeletePassword
(
context
.
Context
,
*
DeletePasswordReq
)
(
*
DeletePasswordResp
,
error
)
// ListPassword lists all password entries.
ListPasswords
(
context
.
Context
,
*
ListPasswordReq
)
(
*
ListPasswordResp
,
error
)
// GetVersion returns version information of the server.
// GetVersion returns version information of the server.
GetVersion
(
context
.
Context
,
*
VersionReq
)
(
*
VersionResp
,
error
)
GetVersion
(
context
.
Context
,
*
VersionReq
)
(
*
VersionResp
,
error
)
}
}
...
@@ -440,6 +483,24 @@ func _Dex_DeletePassword_Handler(srv interface{}, ctx context.Context, dec func(
...
@@ -440,6 +483,24 @@ func _Dex_DeletePassword_Handler(srv interface{}, ctx context.Context, dec func(
return
interceptor
(
ctx
,
in
,
info
,
handler
)
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
}
func
_Dex_ListPasswords_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
ListPasswordReq
)
if
err
:=
dec
(
in
);
err
!=
nil
{
return
nil
,
err
}
if
interceptor
==
nil
{
return
srv
.
(
DexServer
)
.
ListPasswords
(
ctx
,
in
)
}
info
:=
&
grpc
.
UnaryServerInfo
{
Server
:
srv
,
FullMethod
:
"/api.Dex/ListPasswords"
,
}
handler
:=
func
(
ctx
context
.
Context
,
req
interface
{})
(
interface
{},
error
)
{
return
srv
.
(
DexServer
)
.
ListPasswords
(
ctx
,
req
.
(
*
ListPasswordReq
))
}
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
func
_Dex_GetVersion_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
func
_Dex_GetVersion_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
VersionReq
)
in
:=
new
(
VersionReq
)
if
err
:=
dec
(
in
);
err
!=
nil
{
if
err
:=
dec
(
in
);
err
!=
nil
{
...
@@ -482,6 +543,10 @@ var _Dex_serviceDesc = grpc.ServiceDesc{
...
@@ -482,6 +543,10 @@ var _Dex_serviceDesc = grpc.ServiceDesc{
MethodName
:
"DeletePassword"
,
MethodName
:
"DeletePassword"
,
Handler
:
_Dex_DeletePassword_Handler
,
Handler
:
_Dex_DeletePassword_Handler
,
},
},
{
MethodName
:
"ListPasswords"
,
Handler
:
_Dex_ListPasswords_Handler
,
},
{
{
MethodName
:
"GetVersion"
,
MethodName
:
"GetVersion"
,
Handler
:
_Dex_GetVersion_Handler
,
Handler
:
_Dex_GetVersion_Handler
,
...
@@ -494,42 +559,45 @@ var _Dex_serviceDesc = grpc.ServiceDesc{
...
@@ -494,42 +559,45 @@ 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
{
// 579 bytes of a gzipped FileDescriptorProto
// 625 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x09
,
0x6e
,
0x88
,
0x02
,
0xff
,
0x8c
,
0x54
,
0xcb
,
0x6e
,
0xdb
,
0x3a
,
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x09
,
0x6e
,
0x88
,
0x02
,
0xff
,
0x8c
,
0x55
,
0x4f
,
0x4f
,
0xdb
,
0x4e
,
0x10
,
0x8d
,
0x2d
,
0x3f
,
0xe4
,
0xf1
,
0x9b
,
0xc8
,
0x4d
,
0x14
,
0xdf
,
0x8d
,
0xc3
,
0xa0
,
0x80
,
0xb3
,
0x10
,
0x4d
,
0x62
,
0x48
,
0x9c
,
0x49
,
0x42
,
0x92
,
0x11
,
0x3f
,
0x30
,
0xf9
,
0x5d
,
0x60
,
0x51
,
0x25
,
0x49
,
0x90
,
0x14
,
0x68
,
0x17
,
0x45
,
0xbb
,
0x71
,
0xfa
,
0xda
,
0x05
,
0x02
,
0xdc
,
0x65
,
0x05
,
0xc5
,
0x50
,
0x25
,
0x10
,
0x54
,
0x6a
,
0x0f
,
0x55
,
0xe9
,
0x01
,
0xfa
,
0x4f
,
0xea
,
0x01
,
0x59
,
0x4a
,
0x8f
,
0x9a
,
0x26
,
0x04
,
0x14
,
0x89
,
0x21
,
0xa9
,
0x3a
,
0xfd
,
0x80
,
0x7e
,
0x58
,
0xff
,
0xac
,
0x20
,
0x45
,
0xb5
,
0x4c
,
0x3c
,
0x85
,
0x95
,
0x8c
,
0xbd
,
0xdd
,
0xb5
,
0x1b
,
0xfa
,
0xf1
,
0x7a
,
0xe8
,
0xf7
,
0xaa
,
0xbb
,
0x92
,
0xec
,
0xc2
,
0xdd
,
0xf1
,
0x1c
,
0xce
,
0x9c
,
0xd1
,
0xcc
,
0x19
,
0x0a
,
0xfa
,
0x21
,
0x67
,
0x76
,
0xbd
,
0x09
,
0xb6
,
0x43
,
0x95
,
0xde
,
0xfc
,
0xde
,
0xce
,
0xbc
,
0xd9
,
0x79
,
0x33
,
0x9b
,
0xc0
,
0x97
,
0x21
,
0x67
,
0x17
,
0x5c
,
0xa4
,
0x2a
,
0x25
,
0x4e
,
0xc8
,
0x19
,
0xfd
,
0x55
,
0x83
,
0xd6
,
0x3c
,
0x20
,
0x14
,
0xfc
,
0x34
,
0x14
,
0xfc
,
0x44
,
0xc8
,
0x34
,
0x4b
,
0xd1
,
0x09
,
0x05
,
0x67
,
0xbf
,
0x9a
,
0x66
,
0x98
,
0x28
,
0x32
,
0x80
,
0x3a
,
0x8b
,
0xbc
,
0xda
,
0xb4
,
0x36
,
0xeb
,
0xf8
,
0x75
,
0x16
,
0x91
,
0xd0
,
0xbe
,
0x8c
,
0x39
,
0x25
,
0x19
,
0x6e
,
0x41
,
0x8b
,
0x47
,
0x5e
,
0x73
,
0xbf
,
0x79
,
0xd4
,
0xf5
,
0x23
,
0x68
,
0x49
,
0x5c
,
0x0a
,
0x54
,
0x5e
,
0xdd
,
0x70
,
0x16
,
0x91
,
0x33
,
0xe8
,
0x0b
,
0x8c
,
0x98
,
0x5b
,
0x3c
,
0xc2
,
0x1d
,
0x68
,
0x2b
,
0x9a
,
0x49
,
0xca
,
0xbc
,
0x96
,
0xe1
,
0x2c
,
0xc2
,
0x43
,
0x18
,
0xc0
,
0xa5
,
0x0a
,
0x32
,
0xc1
,
0xa4
,
0xe7
,
0x4c
,
0x9d
,
0x59
,
0xc7
,
0xef
,
0xad
,
0xc9
,
0x85
,
0x60
,
0x48
,
0x8a
,
0xb8
,
0xa4
,
0x59
,
0x16
,
0xe4
,
0x92
,
0x2b
,
0xcf
,
0xd9
,
0x77
,
0x8e
,
0xba
,
0x7e
,
0x7f
,
0x52
,
0x07
,
0x29
,
0x91
,
0x49
,
0x85
,
0x51
,
0xc0
,
0x11
,
0x85
,
0xf4
,
0x1a
,
0x79
,
0x90
,
0x25
,
0x6f
,
0x41
,
0x4e
,
0x25
,
0x57
,
0x3a
,
0x28
,
0x93
,
0xb9
,
0xca
,
0x28
,
0x0a
,
0x04
,
0x91
,
0x54
,
0xde
,
0x46
,
0x35
,
0xa7
,
0x2b
,
0xf0
,
0xec
,
0x2e
,
0x66
,
0x4b
,
0xaf
,
0x39
,
0xad
,
0xcd
,
0x5c
,
0xdf
,
0x22
,
0x42
,
0x11
,
0x64
,
0xc9
,
0x6b
,
0xcd
,
0xe9
,
0x0a
,
0x22
,
0xbf
,
0x89
,
0xf9
,
0xcc
,
0xdb
,
0xdc
,
0x6f
,
0x1e
,
0xa0
,
0x91
,
0x84
,
0x8f
,
0xe8
,
0xb5
,
0x4c
,
0x5d
,
0x73
,
0x26
,
0x27
,
0xe0
,
0xc6
,
0xe9
,
0x7d
,
0x1a
,
0xb9
,
0xbe
,
0x45
,
0x88
,
0xb0
,
0x91
,
0x84
,
0xf7
,
0xe4
,
0xb5
,
0x4d
,
0x5d
,
0xf3
,
0x8d
,
0x7b
,
0xe0
,
0x64
,
0x22
,
0xf6
,
0xda
,
0x86
,
0x6f
,
0x6b
,
0xbc
,
0x10
,
0x31
,
0x7d
,
0x05
,
0xc3
,
0xb9
,
0xc0
,
0x50
,
0xc6
,
0xe9
,
0x6d
,
0x1a
,
0xe4
,
0x32
,
0xf6
,
0x3a
,
0x86
,
0xef
,
0x68
,
0x3c
,
0x95
,
0x31
,
0x7b
,
0x09
,
0x61
,
0xde
,
0x88
,
0x8f
,
0x4f
,
0xe4
,
0x0c
,
0x5a
,
0x4b
,
0x03
,
0x4c
,
0x3f
,
0xdd
,
0xeb
,
0xee
,
0x85
,
0xc3
,
0x4b
,
0x49
,
0x61
,
0x46
,
0x45
,
0x23
,
0x3e
,
0x7d
,
0xc7
,
0x43
,
0x68
,
0xcf
,
0x0c
,
0x30
,
0xfd
,
0xee
,
0xdb
,
0xde
,
0xdb
,
0x2b
,
0xfa
,
0x15
,
0x46
,
0xe5
,
0x3c
,
0xc9
,
0xc9
,
0x0b
,
0x18
,
0x84
,
0xb1
,
0xf4
,
0xce
,
0x7b
,
0x27
,
0xba
,
0x6f
,
0x7b
,
0x6e
,
0x8f
,
0xd8
,
0x57
,
0x18
,
0x55
,
0xf3
,
0x94
,
0xc0
,
0xc0
,
0x30
,
0xfa
,
0x11
,
0xe0
,
0x33
,
0x93
,
0x4a
,
0x1a
,
0x01
,
0xd7
,
0xef
,
0x5b
,
0xf6
,
0xbd
,
0x21
,
0x67
,
0xb0
,
0x15
,
0xc6
,
0x92
,
0xc2
,
0xe8
,
0x67
,
0x40
,
0x0f
,
0x5c
,
0x65
,
0xca
,
0x08
,
0xb8
,
0xfe
,
0x0b
,
0xfa
,
0xf5
,
0xbf
,
0xeb
,
0x9f
,
0xc2
,
0xf0
,
0x06
,
0x63
,
0x2c
,
0x7e
,
0x57
,
0x65
,
0xc6
,
0xf4
,
0xc0
,
0xb2
,
0xef
,
0x0c
,
0x59
,
0xd2
,
0x6f
,
0xfd
,
0x5d
,
0xff
,
0x00
,
0x86
,
0x57
,
0x14
,
0x53
,
0xf9
,
0x12
,
0x46
,
0xe5
,
0x10
,
0xc9
,
0xc9
,
0xff
,
0xd0
,
0x49
,
0x52
,
0x15
,
0x7c
,
0x4b
,
0xb3
,
0x24
,
0xb2
,
0x5e
,
0x35
,
0x8f
,
0xd9
,
0x29
,
0x8c
,
0xaa
,
0x21
,
0x4a
,
0xe0
,
0xff
,
0xd0
,
0x4d
,
0xd2
,
0x2c
,
0xf8
,
0xd5
,
0xdd
,
0x24
,
0x55
,
0x1f
,
0x34
,
0xa6
,
0x0c
,
0xdc
,
0xdb
,
0x50
,
0xca
,
0x55
,
0x2a
,
0x22
,
0x72
,
0x96
,
0xe6
,
0x49
,
0x64
,
0xab
,
0xbb
,
0x49
,
0x9a
,
0xbd
,
0xd7
,
0x98
,
0x71
,
0x70
,
0xaf
,
0x43
,
0xa5
,
0x08
,
0x4d
,
0x7c
,
0x0c
,
0x59
,
0x6c
,
0xf5
,
0x72
,
0xa0
,
0x87
,
0xf7
,
0x10
,
0xca
,
0x07
,
0xf3
,
0x61
,
0xe6
,
0xa9
,
0x8c
,
0x70
,
0x1b
,
0x36
,
0xe9
,
0x3e
,
0xe4
,
0xb1
,
0xd5
,
0x2b
,
0x80
,
0x36
,
0xef
,
0x2e
,
0x3d
,
0xdf
,
0x9c
,
0xc9
,
0x04
,
0xdc
,
0x4c
,
0xa2
,
0x30
,
0x43
,
0x75
,
0x4c
,
0xf0
,
0x06
,
0x93
,
0x63
,
0x54
,
0x77
,
0xe6
,
0x62
,
0x7d
,
0xdf
,
0x7c
,
0xe3
,
0x04
,
0xdc
,
0x5c
,
0x91
,
0x34
,
0xa6
,
0x3a
,
0x26
,
0x68
,
0xeb
,
0x73
,
0xc0
,
0x22
,
0xaf
,
0x91
,
0xfb
,
0xac
,
0xe1
,
0xe7
,
0x88
,
0xbe
,
0x83
,
0x71
,
0x3e
,
0x78
,
0x89
,
0x71
,
0x17
,
0x3a
,
0xfa
,
0x3b
,
0xe0
,
0x91
,
0xb7
,
0x51
,
0xcc
,
0x59
,
0xc3
,
0x4f
,
0x11
,
0x9e
,
0x75
,
0x41
,
0xdd
,
0xc0
,
0x39
,
0xb8
,
0xdc
,
0x42
,
0x3b
,
0xda
,
0xbe
,
0x69
,
0x7d
,
0x13
,
0xb3
,
0xbb
,
0x80
,
0x71
,
0x61
,
0xcf
,
0xa2
,
0xa0
,
0x6e
,
0xe0
,
0x18
,
0x5c
,
0x61
,
0xa1
,
0xb5
,
0x76
,
0x60
,
0xb9
,
0xa6
,
0x6f
,
0x80
,
0x54
,
0xf3
,
0xff
,
0x79
,
0xc0
,
0xf4
,
0x1e
,
0xc6
,
0x0b
,
0x1e
,
0x55
,
0x8a
,
0x5a
,
0x5f
,
0xc6
,
0x2c
,
0x8f
,
0xd9
,
0x6b
,
0xc0
,
0x7a
,
0xfe
,
0x3f
,
0x1b
,
0xcc
,
0x6e
,
0x61
,
0x3c
,
0xef
,
0x6e
,
0xf8
,
0x04
,
0xdc
,
0x04
,
0x57
,
0x41
,
0xa1
,
0xe9
,
0x76
,
0x82
,
0xab
,
0x4f
,
0xba
,
0xef
,
0x15
,
0x51
,
0xad
,
0xf8
,
0xd3
,
0x0d
,
0xef
,
0x81
,
0x9b
,
0xd0
,
0x3c
,
0x28
,
0x35
,
0xdd
,
0x49
,
0x68
,
0x53
,
0xe8
,
0xe9
,
0xab
,
0x4a
,
0xef
,
0xdd
,
0x04
,
0x57
,
0x0b
,
0x4b
,
0xd1
,
0x2b
,
0x20
,
0xd5
,
0x42
,
0xfe
,
0x51
,
0xf7
,
0x7d
,
0x00
,
0x7d
,
0x7d
,
0x54
,
0xeb
,
0xbd
,
0x97
,
0xd0
,
0x7c
,
0x6a
,
0x29
,
0x76
,
0xfb
,
0x3c
,
0x38
,
0x87
,
0x71
,
0x6e
,
0xda
,
0xde
,
0x6f
,
0xd3
,
0xea
,
0xd5
,
0xd0
,
0x7d
,
0xea
,
0x3d
,
0x06
,
0x58
,
0x2f
,
0xb4
,
0x6e
,
0x06
,
0xc7
,
0x30
,
0x2e
,
0x86
,
0xb6
,
0xf6
,
0x6e
,
0x5a
,
0xbd
,
0x1e
,
0x80
,
0x2f
,
0x28
,
0x24
,
0x4b
,
0x13
,
0x1f
,
0x9f
,
0xe8
,
0x6b
,
0xe8
,
0x6e
,
0x90
,
0xe4
,
0xf9
,
0x9b
,
0xba
,
0x4e
,
0x7d
,
0x0c
,
0xc3
,
0xcf
,
0x5c
,
0x65
,
0x25
,
0x6d
,
0xf6
,
0x16
,
0x46
,
0x55
,
0x4a
,
0x09
,
0x14
,
0xdf
,
0x51
,
0xd8
,
0x32
,
0x16
,
0x91
,
0x11
,
0xe8
,
0xd7
,
0x6c
,
0xda
,
0x6f
,
0xfa
,
0xfa
,
0x78
,
0x7c
,
0x0e
,
0xdd
,
0x85
,
0xd3
,
0xda
,
0x42
,
0x67
,
0x75
,
0x12
,
0x8f
,
0xe7
,
0xac
,
0x0f
,
0xf0
,
0x85
,
0xfd
,
0xd3
,
0x01
,
0xe7
,
0x06
,
0x9f
,
0xc9
,
0x5b
,
0xe8
,
0x15
,
0x97
,
0x9c
,
0x1c
,
0xe6
,
0x9b
,
0x5a
,
0xa4
,
0xe2
,
0x69
,
0xa2
,
0xe5
,
0x5e
,
0x41
,
0x6f
,
0x89
,
0x94
,
0x28
,
0xde
,
0xb9
,
0xfc
,
0x41
,
0xd2
,
0x7e
,
0x2f
,
0x93
,
0xff
,
0x76
,
0xb0
,
0x92
,
0xd3
,
0x03
,
0x9d
,
0x5e
,
0x5c
,
0x50
,
0x9b
,
0x5e
,
0x59
,
0x5e
,
0xdd
,
0x22
,
0x1c
,
0x81
,
0xfe
,
0x85
,
0x30
,
0x96
,
0x6e
,
0xfa
,
0xfa
,
0xf3
,
0xfc
,
0xb7
,
0x03
,
0x6b
,
0x9b
,
0x5e
,
0xdd
,
0x64
,
0x7a
,
0x40
,
0xe6
,
0x30
,
0x28
,
0xef
,
0x00
,
0x39
,
0x2a
,
0x54
,
0x2a
,
0xce
,
0x15
,
0x3d
,
0xe0
,
0x1b
,
0xe8
,
0x97
,
0x1f
,
0x0e
,
0x6e
,
0x17
,
0xdb
,
0x5f
,
0x7d
,
0x83
,
0x93
,
0xcc
,
0x6f
,
0x72
,
0xbc
,
0x93
,
0x5f
,
0x8b
,
0x94
,
0x2d
,
0xb2
,
0x22
,
0x5b
,
0x0b
,
0x62
,
0x45
,
0xb6
,
0xff
,
0x9e
,
0x60
,
0x95
,
0x60
,
0x0d
,
0x9d
,
0x5e
,
0x5e
,
0x7a
,
0x9b
,
0x5e
,
0x7b
,
0x2a
,
0x36
,
0xbd
,
0xfd
,
0xcc
,
0x45
,
0xca
,
0x4e
,
0x58
,
0x91
,
0x2d
,
0x27
,
0xad
,
0xc8
,
0xb6
,
0x6d
,
0xf4
,
0x80
,
0x5c
,
0xfe
,
0x3a
,
0x58
,
0x03
,
0x2f
,
0x61
,
0xab
,
0xba
,
0x57
,
0xb8
,
0x53
,
0xaa
,
0x54
,
0xf2
,
0x6d
,
0xb2
,
0x01
,
0x7c
,
0x44
,
0x65
,
0x0d
,
0x21
,
0x43
,
0x13
,
0xf8
,
0xc7
,
0xac
,
0xc9
,
0xa8
,
0x4c
,
0xe8
,
0x94
,
0xfb
,
0x24
,
0xbf
,
0x10
,
0xa9
,
0x8e
,
0xdd
,
0x8a
,
0xac
,
0x2c
,
0x9d
,
0x15
,
0x59
,
0xdd
,
0x91
,
0x42
,
0xbb
,
0x96
,
0xf9
,
0xd9
,
0xbe
,
0xfc
,
0x1d
,
0x00
,
0x00
,
0xff
,
0xff
,
0x72
,
0xb9
,
0x88
,
0x7f
,
0x7d
,
0xa4
,
0x3a
,
0x5d
,
0x2b
,
0xb2
,
0xb2
,
0x1d
,
0x56
,
0x64
,
0x75
,
0x15
,
0x58
,
0x03
,
0x2f
,
0x60
,
0x50
,
0x05
,
0x00
,
0x00
,
0x1e
,
0xae
,
0xb2
,
0x76
,
0xd4
,
0x76
,
0xc0
,
0xda
,
0x51
,
0x5f
,
0x03
,
0xd6
,
0xc0
,
0x33
,
0x80
,
0x0f
,
0x94
,
0xd9
,
0x81
,
0xe2
,
0xd0
,
0x84
,
0x3d
,
0x0e
,
0x7b
,
0x32
,
0xaa
,
0x12
,
0x3a
,
0xe5
,
0xa6
,
0x6d
,
0xfe
,
0x00
,
0x5e
,
0xfc
,
0x09
,
0x00
,
0x00
,
0xff
,
0xff
,
0x34
,
0x14
,
0x6b
,
0x5d
,
0x11
,
0x06
,
0x00
,
0x00
,
}
}
This diff is collapsed.
Click to expand it.
api/api.proto
+
10
−
0
View file @
ee9738d6
...
@@ -80,6 +80,14 @@ message DeletePasswordResp {
...
@@ -80,6 +80,14 @@ message DeletePasswordResp {
bool
not_found
=
1
;
bool
not_found
=
1
;
}
}
// ListPasswordReq is a request to enumerate passwords.
message
ListPasswordReq
{}
// ListPasswordResp returs a list of passwords.
message
ListPasswordResp
{
repeated
Password
passwords
=
1
;
}
// VersionReq is a request to fetch version info.
// VersionReq is a request to fetch version info.
message
VersionReq
{}
message
VersionReq
{}
...
@@ -104,6 +112,8 @@ service Dex {
...
@@ -104,6 +112,8 @@ service Dex {
rpc
UpdatePassword
(
UpdatePasswordReq
)
returns
(
UpdatePasswordResp
)
{};
rpc
UpdatePassword
(
UpdatePasswordReq
)
returns
(
UpdatePasswordResp
)
{};
// DeletePassword deletes the password.
// DeletePassword deletes the password.
rpc
DeletePassword
(
DeletePasswordReq
)
returns
(
DeletePasswordResp
)
{};
rpc
DeletePassword
(
DeletePasswordReq
)
returns
(
DeletePasswordResp
)
{};
// ListPassword lists all password entries.
rpc
ListPasswords
(
ListPasswordReq
)
returns
(
ListPasswordResp
)
{};
// GetVersion returns version information of the server.
// GetVersion returns version information of the server.
rpc
GetVersion
(
VersionReq
)
returns
(
VersionResp
)
{};
rpc
GetVersion
(
VersionReq
)
returns
(
VersionResp
)
{};
}
}
This diff is collapsed.
Click to expand it.
server/api.go
+
23
−
0
View file @
ee9738d6
...
@@ -171,3 +171,26 @@ func (d dexAPI) GetVersion(ctx context.Context, req *api.VersionReq) (*api.Versi
...
@@ -171,3 +171,26 @@ func (d dexAPI) GetVersion(ctx context.Context, req *api.VersionReq) (*api.Versi
Api
:
apiVersion
,
Api
:
apiVersion
,
},
nil
},
nil
}
}
func
(
d
dexAPI
)
ListPasswords
(
ctx
context
.
Context
,
req
*
api
.
ListPasswordReq
)
(
*
api
.
ListPasswordResp
,
error
)
{
passwordList
,
err
:=
d
.
s
.
ListPasswords
()
if
err
!=
nil
{
log
.
Printf
(
"api: failed to list passwords: %v"
,
err
)
return
nil
,
fmt
.
Errorf
(
"list passwords: %v"
,
err
)
}
var
passwords
[]
*
api
.
Password
for
_
,
password
:=
range
passwordList
{
p
:=
api
.
Password
{
Email
:
password
.
Email
,
Username
:
password
.
Username
,
UserId
:
password
.
UserID
,
}
passwords
=
append
(
passwords
,
&
p
)
}
return
&
api
.
ListPasswordResp
{
Passwords
:
passwords
,
},
nil
}
This diff is collapsed.
Click to expand it.
storage/conformance/conformance.go
+
9
−
0
View file @
ee9738d6
...
@@ -5,6 +5,7 @@ package conformance
...
@@ -5,6 +5,7 @@ package conformance
import
(
import
(
"reflect"
"reflect"
"sort"
"testing"
"testing"
"time"
"time"
...
@@ -244,6 +245,12 @@ func testRefreshTokenCRUD(t *testing.T, s storage.Storage) {
...
@@ -244,6 +245,12 @@ func testRefreshTokenCRUD(t *testing.T, s storage.Storage) {
}
}
}
}
type
byEmail
[]
storage
.
Password
func
(
n
byEmail
)
Len
()
int
{
return
len
(
n
)
}
func
(
n
byEmail
)
Less
(
i
,
j
int
)
bool
{
return
n
[
i
]
.
Email
<
n
[
j
]
.
Email
}
func
(
n
byEmail
)
Swap
(
i
,
j
int
)
{
n
[
i
],
n
[
j
]
=
n
[
j
],
n
[
i
]
}
func
testPasswordCRUD
(
t
*
testing
.
T
,
s
storage
.
Storage
)
{
func
testPasswordCRUD
(
t
*
testing
.
T
,
s
storage
.
Storage
)
{
// Use bcrypt.MinCost to keep the tests short.
// Use bcrypt.MinCost to keep the tests short.
passwordHash
,
err
:=
bcrypt
.
GenerateFromPassword
([]
byte
(
"secret"
),
bcrypt
.
MinCost
)
passwordHash
,
err
:=
bcrypt
.
GenerateFromPassword
([]
byte
(
"secret"
),
bcrypt
.
MinCost
)
...
@@ -294,6 +301,8 @@ func testPasswordCRUD(t *testing.T, s storage.Storage) {
...
@@ -294,6 +301,8 @@ func testPasswordCRUD(t *testing.T, s storage.Storage) {
t
.
Errorf
(
"list password: %v"
,
err
)
t
.
Errorf
(
"list password: %v"
,
err
)
return
return
}
}
sort
.
Sort
(
byEmail
(
want
))
sort
.
Sort
(
byEmail
(
passwords
))
if
diff
:=
pretty
.
Compare
(
want
,
passwords
);
diff
!=
""
{
if
diff
:=
pretty
.
Compare
(
want
,
passwords
);
diff
!=
""
{
t
.
Errorf
(
"password list retrieved from storage did not match: %s"
,
diff
)
t
.
Errorf
(
"password list retrieved from storage did not match: %s"
,
diff
)
}
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment