authenticate/proxy: add user impersonation, refresh, dashboard (#123)

proxy: Add user dashboard. [GH-123]
proxy/authenticate: Add manual refresh of their session. [GH-73]
authorize: Add administrator (super user) account support. [GH-110]
internal/policy: Allow administrators to impersonate other users. [GH-110]
This commit is contained in:
Bobby DeSimone 2019-05-26 12:33:00 -07:00 committed by GitHub
parent dc2eb9668c
commit 66b4c2d3cd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
42 changed files with 1644 additions and 1006 deletions

View file

@ -0,0 +1,28 @@
package cryptutil // import "github.com/pomerium/pomerium/internal/cryptutil"
// MockCipher MockCSRFStore is a mock implementation of Cipher.
type MockCipher struct {
EncryptResponse []byte
EncryptError error
DecryptResponse []byte
DecryptError error
MarshalResponse string
MarshalError error
UnmarshalError error
}
// Encrypt is a mock implementation of MockCipher.
func (mc MockCipher) Encrypt(b []byte) ([]byte, error) { return mc.EncryptResponse, mc.EncryptError }
// Decrypt is a mock implementation of MockCipher.
func (mc MockCipher) Decrypt(b []byte) ([]byte, error) { return mc.DecryptResponse, mc.DecryptError }
// Marshal is a mock implementation of MockCipher.
func (mc MockCipher) Marshal(i interface{}) (string, error) {
return mc.MarshalResponse, mc.MarshalError
}
// Unmarshal is a mock implementation of MockCipher.
func (mc MockCipher) Unmarshal(s string, i interface{}) error {
return mc.UnmarshalError
}