mirror of
https://github.com/pomerium/pomerium.git
synced 2025-05-01 19:36:32 +02:00
- authenticate: added a token exchange api endpoint that converts an identity provider's JWT into a pomerium session. - internal/identity: authenticate now passes context. - internal/identity: removed extraneous GetSignInURL from okta. - internal/sessions: add rest store - update go.mod / go.sum depedencies. - docs: add programmatic examples in shell and python
49 lines
1.6 KiB
Go
49 lines
1.6 KiB
Go
package identity // import "github.com/pomerium/pomerium/internal/identity"
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/pomerium/pomerium/internal/sessions"
|
|
)
|
|
|
|
// MockProvider provides a mocked implementation of the providers interface.
|
|
type MockProvider struct {
|
|
AuthenticateResponse sessions.SessionState
|
|
AuthenticateError error
|
|
IDTokenToSessionResponse sessions.SessionState
|
|
IDTokenToSessionError error
|
|
ValidateResponse bool
|
|
ValidateError error
|
|
RefreshResponse *sessions.SessionState
|
|
RefreshError error
|
|
RevokeError error
|
|
GetSignInURLResponse string
|
|
}
|
|
|
|
// Authenticate is a mocked providers function.
|
|
func (mp MockProvider) Authenticate(ctx context.Context, code string) (*sessions.SessionState, error) {
|
|
return &mp.AuthenticateResponse, mp.AuthenticateError
|
|
}
|
|
|
|
// IDTokenToSession is a mocked providers function.
|
|
func (mp MockProvider) IDTokenToSession(ctx context.Context, code string) (*sessions.SessionState, error) {
|
|
return &mp.IDTokenToSessionResponse, mp.IDTokenToSessionError
|
|
}
|
|
|
|
// Validate is a mocked providers function.
|
|
func (mp MockProvider) Validate(ctx context.Context, s string) (bool, error) {
|
|
return mp.ValidateResponse, mp.ValidateError
|
|
}
|
|
|
|
// Refresh is a mocked providers function.
|
|
func (mp MockProvider) Refresh(ctx context.Context, s *sessions.SessionState) (*sessions.SessionState, error) {
|
|
return mp.RefreshResponse, mp.RefreshError
|
|
}
|
|
|
|
// Revoke is a mocked providers function.
|
|
func (mp MockProvider) Revoke(s string) error {
|
|
return mp.RevokeError
|
|
}
|
|
|
|
// GetSignInURL is a mocked providers function.
|
|
func (mp MockProvider) GetSignInURL(s string) string { return mp.GetSignInURLResponse }
|