client

package
v0.0.0-...-976a764 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 24, 2021 License: Apache-2.0 Imports: 11 Imported by: 15

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateChallenges

func CreateChallenges(client *IdpClient, url string, requests []CreateChallengesRequest) (status int, responses bulky.Responses, err error)

func CreateClients

func CreateClients(client *IdpClient, url string, requests []CreateClientsRequest) (status int, responses bulky.Responses, err error)

func CreateFollows

func CreateFollows(client *IdpClient, url string, requests []CreateFollowsRequest) (status int, responses bulky.Responses, err error)

func CreateHumans

func CreateHumans(client *IdpClient, url string, requests []CreateHumansRequest) (status int, responses bulky.Responses, err error)

func CreateHumansAuthenticate

func CreateHumansAuthenticate(client *IdpClient, url string, requests []CreateHumansAuthenticateRequest) (status int, responses bulky.Responses, err error)

func CreateHumansEmailChange

func CreateHumansEmailChange(client *IdpClient, url string, requests []CreateHumansEmailChangeRequest) (status int, responses bulky.Responses, err error)

func CreateHumansLogout

func CreateHumansLogout(client *IdpClient, url string, requests []CreateHumansLogoutRequest) (status int, responses bulky.Responses, err error)

func CreateInvites

func CreateInvites(client *IdpClient, url string, requests []CreateInvitesRequest) (status int, responses bulky.Responses, err error)

func CreateInvitesClaim

func CreateInvitesClaim(client *IdpClient, url string, requests []CreateInvitesClaimRequest) (status int, responses bulky.Responses, err error)

func CreateInvitesSend

func CreateInvitesSend(client *IdpClient, url string, requests []CreateInvitesSendRequest) (status int, responses bulky.Responses, err error)

func CreateResourceServers

func CreateResourceServers(client *IdpClient, url string, requests []CreateResourceServersRequest) (status int, responses bulky.Responses, err error)

func CreateRoles

func CreateRoles(client *IdpClient, url string, requests []CreateRolesRequest) (status int, responses bulky.Responses, err error)

func DeleteClients

func DeleteClients(client *IdpClient, url string, requests []DeleteClientsRequest) (status int, responses bulky.Responses, err error)

func DeleteHumans

func DeleteHumans(client *IdpClient, url string, requests []DeleteHumansRequest) (status int, responses bulky.Responses, err error)

func DeleteHumansVerify

func DeleteHumansVerify(client *IdpClient, url string, requests []UpdateHumansDeleteVerifyRequest) (status int, responses bulky.Responses, err error)

func DeleteResourceServers

func DeleteResourceServers(client *IdpClient, url string, requests []DeleteResourceServersRequest) (status int, responses bulky.Responses, err error)

func DeleteRoles

func DeleteRoles(client *IdpClient, url string, requests []DeleteRolesRequest) (status int, responses bulky.Responses, err error)

func ReadChallenges

func ReadChallenges(client *IdpClient, url string, requests []ReadChallengesRequest) (status int, responses bulky.Responses, err error)

func ReadClients

func ReadClients(client *IdpClient, url string, requests []ReadClientsRequest) (status int, responses bulky.Responses, err error)

func ReadFollows

func ReadFollows(client *IdpClient, url string, requests []ReadFollowsRequest) (status int, responses bulky.Responses, err error)

func ReadHumans

func ReadHumans(client *IdpClient, url string, requests []ReadHumansRequest) (status int, responses bulky.Responses, err error)

func ReadHumansLogout

func ReadHumansLogout(client *IdpClient, url string, requests []ReadHumansLogoutRequest) (status int, responses bulky.Responses, err error)

func ReadIdentities

func ReadIdentities(client *IdpClient, url string, requests []ReadIdentitiesRequest) (status int, responses bulky.Responses, err error)

func ReadInvites

func ReadInvites(client *IdpClient, url string, requests []ReadInvitesRequest) (status int, responses bulky.Responses, err error)

func ReadResourceServers

func ReadResourceServers(client *IdpClient, url string, requests []ReadResourceServersRequest) (status int, responses bulky.Responses, err error)

func ReadRoles

func ReadRoles(client *IdpClient, url string, requests []ReadRolesRequest) (status int, responses bulky.Responses, err error)

func RecoverHumans

func RecoverHumans(client *IdpClient, url string, requests []CreateHumansRecoverRequest) (status int, responses bulky.Responses, err error)

func RecoverHumansVerify

func RecoverHumansVerify(client *IdpClient, url string, requests []UpdateHumansRecoverVerifyRequest) (status int, responses bulky.Responses, err error)

func UpdateHumans

func UpdateHumans(client *IdpClient, url string, requests []UpdateHumansRequest) (status int, responses bulky.Responses, err error)

func UpdateHumansEmailConfirm

func UpdateHumansEmailConfirm(client *IdpClient, url string, requests []UpdateHumansEmailConfirmRequest) (status int, responses bulky.Responses, err error)

func UpdateHumansLogoutAccept

func UpdateHumansLogoutAccept(client *IdpClient, url string, requests []UpdateHumansLogoutAcceptRequest) (status int, responses bulky.Responses, err error)

func UpdateHumansPassword

func UpdateHumansPassword(client *IdpClient, url string, requests []UpdateHumansPasswordRequest) (status int, responses bulky.Responses, err error)

func UpdateHumansTotp

func UpdateHumansTotp(client *IdpClient, url string, requests []UpdateHumansTotpRequest) (status int, responses bulky.Responses, err error)

func VerifyChallenges

func VerifyChallenges(client *IdpClient, url string, requests []UpdateChallengesVerifyRequest) (status int, responses bulky.Responses, err error)

Types

type Challenge

type Challenge struct {
	OtpChallenge     string `json:"otp_challenge"  validate:"required"`
	ConfirmationType int    `json:"confirmation_type" validate:"numeric"`

	Subject    string `json:"sub"            validate:"required,uuid"`
	Audience   string `json:"aud"            validate:"required"`
	IssuedAt   int64  `json:"iat"            validate:"required"`
	ExpiresAt  int64  `json:"exp"            validate:"required"`
	TTL        int64  `json:"ttl"            validate:"required"`
	RedirectTo string `json:"redirect_to"    validate:"required,url"`
	CodeType   int64  `json:"code_type"`
	Code       string `json:"code,omitempty"`

	VerifiedAt int64 `json:"verified_at"`

	Data string `json:"data,omitempty"`
}

type ChallengeVerification

type ChallengeVerification struct {
	OtpChallenge string `json:"otp_challenge" validate:"required"`
	Verified     bool   `json:"verified"      `
	RedirectTo   string `json:"redirect_to"   validate:"required,url"`
}

type Client

type Client struct {
	Id                      string   `json:"id" validate:"required,uuid"`
	Name                    string   `json:"name"                       validate:"required"`
	Description             string   `json:"description"                validate:"required"`
	Secret                  string   `json:"secret,omitempty"           validate:"omitempty,max=55"`
	GrantTypes              []string `` /* 159-byte string literal not displayed */
	ResponseTypes           []string `json:"response_types"             validate:"omitempty,dive,eq=code|eq=token"`
	RedirectUris            []string `json:"redirect_uris"              validate:"omitempty,dive,url"`
	TokenEndpointAuthMethod string   `` /* 126-byte string literal not displayed */
	PostLogoutRedirectUris  []string `json:"post_logout_redirect_uris"  validate:"omitempty,dive,url"`
}

type ConfirmationType

type ConfirmationType int
const (
	ConfirmIdentity ConfirmationType = iota + 1 // Start from one so required input validation will work.
	ConfirmIdentityDeletion
	ConfirmIdentityRecovery
	ConfirmIdentityControlOfEmail
	ConfirmIdentityControlOfEmailDuringChange
)

func (ConfirmationType) String

func (d ConfirmationType) String() string

type CreateChallengesRequest

type CreateChallengesRequest struct {
	ConfirmationType int `json:"confirmation_type" validate:"numeric"`

	Subject    string `json:"sub"         validate:"required,uuid"`
	Audience   string `json:"aud"         validate:"required"`
	TTL        int64  `json:"ttl"         validate:"required"`
	RedirectTo string `json:"redirect_to" validate:"required,url"`
	CodeType   int64  `json:"code_type"   validate:"required"`
	Code       string `json:"code"        validate:"required"`

	Email string `json:"email,omitempty" validate:"omitempty,email"`
}

type CreateChallengesResponse

type CreateChallengesResponse Challenge

type CreateClientsRequest

type CreateClientsRequest struct {
	Name                    string   `json:"name"                       validate:"required"`
	Description             string   `json:"description"                validate:"required"`
	IsPublic                bool     `json:"is_public"                  `
	Secret                  string   `json:"secret,omitempty"           validate:"omitempty,max=55"`
	GrantTypes              []string `` /* 159-byte string literal not displayed */
	ResponseTypes           []string `json:"response_types"             validate:"omitempty,dive,eq=code|eq=token"`
	RedirectUris            []string `json:"redirect_uris"              validate:"omitempty,dive,url"`
	TokenEndpointAuthMethod string   `` /* 126-byte string literal not displayed */
	PostLogoutRedirectUris  []string `json:"post_logout_redirect_uris"  validate:"omitempty,dive,url"`
}

type CreateClientsResponse

type CreateClientsResponse Client

type CreateFollowsRequest

type CreateFollowsRequest struct {
	From string `json:"from" validate:"required,uuid"`
	To   string `json:"to"   validate:"required,uuid"`
}

type CreateFollowsResponse

type CreateFollowsResponse Follow

type CreateHumansAuthenticateRequest

type CreateHumansAuthenticateRequest struct {
	Challenge      string `json:"challenge"                   validate:"required"`
	Id             string `json:"id,omitempty"                validate:"omitempty,uuid"`
	Password       string `json:"password,omitempty"          validate:"omitempty,max=55"`
	OtpChallenge   string `json:"otp_challenge,omitempty"     validate:"omitempty,uuid"`
	EmailChallenge string `json:"email_challenge,omitempty" validate:"omitempty,uuid"`
}

type CreateHumansAuthenticateResponse

type CreateHumansAuthenticateResponse HumanAuthentication

type CreateHumansEmailChangeRequest

type CreateHumansEmailChangeRequest struct {
	Id         string `json:"id"          validate:"required,uuid"`
	RedirectTo string `json:"redirect_to" validate:"required,uri"`
	Email      string `json:"email"       validate:"required,email"`
}

type CreateHumansEmailChangeResponse

type CreateHumansEmailChangeResponse HumanRedirect

type CreateHumansLogoutRequest

type CreateHumansLogoutRequest struct {
	IdToken    string `json:"id_token"              validate:"required"`
	State      string `json:"state"                 validate:"required"`
	RedirectTo string `json:"redirect_to,omitempty" validate:"omitempty,uri"`
}

type CreateHumansLogoutResponse

type CreateHumansLogoutResponse Logout

type CreateHumansRecoverRequest

type CreateHumansRecoverRequest struct {
	Id         string `json:"id"          validate:"required,uuid"`
	RedirectTo string `json:"redirect_to" validate:"required,uri"`
}

type CreateHumansRecoverResponse

type CreateHumansRecoverResponse HumanVerification

type CreateHumansRequest

type CreateHumansRequest struct {
	Id               string `json:"id"                 validate:"required,uuid"`
	Password         string `json:"password"           validate:"required,max=55"`
	Username         string `json:"username,omitempty" validate:"omitempty"`
	Email            string `json:"email,omitempty"    validate:"omitempty,email"`
	Name             string `json:"name,omitempty"     validate:"omitempty"`
	AllowLogin       bool   `json:"allow_login"`
	EmailConfirmedAt int64  `json:"email_confirmed_at"`
}

type CreateHumansResponse

type CreateHumansResponse Human

type CreateInvitesClaimRequest

type CreateInvitesClaimRequest struct {
	Id         string `json:"id" validate:"required,uuid"`
	RedirectTo string `json:"redirect_to" validate:"required,url"`
	TTL        int64  `json:"ttl" validate:"required,numeric"`
}

type CreateInvitesClaimResponse

type CreateInvitesClaimResponse InviteClaimChallenge

type CreateInvitesRequest

type CreateInvitesRequest struct {
	Email     string `json:"email"              validate:"required,email"`
	Username  string `json:"username,omitempty" validate:"omitempty"`
	ExpiresAt int64  `json:"exp,omitempty"      validate:"omitempty,numeric"`
}

type CreateInvitesResponse

type CreateInvitesResponse Invite

type CreateInvitesSendRequest

type CreateInvitesSendRequest struct {
	Id string `json:"id" validate:"required,uuid"`
}

type CreateInvitesSendResponse

type CreateInvitesSendResponse Invite

type CreateResourceServersRequest

type CreateResourceServersRequest struct {
	Name        string `json:"name"        validate:"required"`
	Description string `json:"description" validate:"required"`
	Audience    string `json:"aud"         validate:"required"`
}

type CreateResourceServersResponse

type CreateResourceServersResponse ResourceServer

type CreateRolesRequest

type CreateRolesRequest struct {
	Name        string `json:"name"        validate:"required"`
	Description string `json:"description" validate:"required"`
}

type CreateRolesResponse

type CreateRolesResponse Role

type DeleteClientsRequest

type DeleteClientsRequest struct {
	Id string `json:"id" validate:"required,uuid"`
}

type DeleteClientsResponse

type DeleteClientsResponse Identity

type DeleteHumansRequest

type DeleteHumansRequest struct {
	Id         string `json:"id"          validate:"required,uuid"`
	RedirectTo string `json:"redirect_to" validate:"required,uri"`
}

type DeleteHumansResponse

type DeleteHumansResponse HumanRedirect

type DeleteResourceServersRequest

type DeleteResourceServersRequest struct {
	Id string `json:"id" validate:"required,uuid"`
}

type DeleteResourceServersResponse

type DeleteResourceServersResponse Identity

type DeleteRolesRequest

type DeleteRolesRequest struct {
	Id string `json:"id" validate:"required,uuid"`
}

type DeleteRolesResponse

type DeleteRolesResponse Identity

type Follow

type Follow struct {
	From string `json:"from" validate:"required,uuid"`
	To   string `json:"to"   validate:"required,uuid"`
}

type Human

type Human struct {
	Id               string `json:"id"                      validate:"required,uuid"`
	Username         string `json:"username"                validate:"required"`
	Password         string `json:"password,omitempty"      validate:"omitempty"`
	Name             string `json:"name"                    validate:"required`
	Email            string `json:"email"                   validate:"required,email"`
	EmailConfirmedAt int64  `json:"email_confirmed_at"`
	AllowLogin       bool   `json:"allow_login"             validate:"required"`
	TotpRequired     bool   `json:"totp_required"           `
	TotpSecret       string `json:"totp_secret"             `
}

type HumanAuthentication

type HumanAuthentication struct {
	Id                string `json:"id"            validate:"omitempty,uuid"`
	Authenticated     bool   `json:"authenticated"`
	RedirectTo        string `json:"redirect_to"   validate:"omitempty,uri"`
	TotpRequired      bool   `json:"totp_required"`
	IsPasswordInvalid bool   `json:"is_password_invalid"`
	IdentityExists    bool   `json:"identity_exists"`
}

type HumanLogout

type HumanLogout struct {
	SessionId                string `json:"sid"`
	InitiatedByRelayingParty bool   `json:"rp_initiated"`
	Id                       string `json:"id" validate:"required,uuid"`
	RequestUrl               string `json:"request_url" validate:"required,uri"`
}

type HumanRedirect

type HumanRedirect struct {
	Id         string `json:"id"          validate:"required,uuid"`
	RedirectTo string `json:"redirect_to" validate:"required,uri"`
}

type HumanVerification

type HumanVerification struct {
	Id         string `json:"id"          validate:"required,uuid"`
	RedirectTo string `json:"redirect_to" validate:"required,uri"`
	Verified   bool   `json:"verified"`
}

type Identity

type Identity struct {
	Id     string   `json:"id" validate:"required,uuid"`
	Labels []string `json:"labels"`
}

type IdpClient

type IdpClient struct {
	*http.Client
}

func NewIdpClient

func NewIdpClient(config *clientcredentials.Config) *IdpClient

func NewIdpClientWithUserAccessToken

func NewIdpClientWithUserAccessToken(config *oauth2.Config, token *oauth2.Token) *IdpClient

type Invite

type Invite struct {
	Id        string `json:"id"                    validate:"required,uuid"`
	IssuedAt  int64  `json:"iat"                   validate:"required,numeric"`
	ExpiresAt int64  `json:"exp"                   validate:"required,numeric"`

	Email    string `json:"email"              validate:"required,email"`
	Username string `json:"username,omitempty" validate:"omitempty"`

	SentAt int64 `json:"sent_at,omitempty" validate:"omitempty,numeric"`
}

type InviteClaimChallenge

type InviteClaimChallenge struct {
	RedirectTo string `json:"redirect_to"   validate:"required,url"`
}

type Logout

type Logout struct {
	RedirectTo string `json:"redirect_to" validate:"required,uri"`
}

type OTPType

type OTPType int
const (
	OTP OTPType = OTPType(iota)
	TOTP
)

func (OTPType) String

func (d OTPType) String() string

type ReadChallengesRequest

type ReadChallengesRequest struct {
	OtpChallenge string `json:"otp_challenge" validate:"required"`
}

type ReadChallengesResponse

type ReadChallengesResponse []Challenge

type ReadClientsRequest

type ReadClientsRequest struct {
	Id string `json:"id,omitempty" validate:"uuid"`
}

type ReadClientsResponse

type ReadClientsResponse []Client

type ReadFollowsRequest

type ReadFollowsRequest struct {
	From string `json:"id,omitempty" validate:"required,uuid"`
}

type ReadFollowsResponse

type ReadFollowsResponse []Follow

type ReadHumansLogoutRequest

type ReadHumansLogoutRequest struct {
	Challenge string `json:"challenge" validate:"required"`
}

type ReadHumansLogoutResponse

type ReadHumansLogoutResponse HumanLogout

type ReadHumansRequest

type ReadHumansRequest struct {
	Id       string `json:"id,omitempty"        validate:"omitempty,uuid"`
	Email    string `json:"email,omitempty"     validate:"omitempty,email"`
	Username string `json:"username,omitempty"`
}

type ReadHumansResponse

type ReadHumansResponse []Human

type ReadIdentitiesRequest

type ReadIdentitiesRequest struct {
	Id     string `json:"id,omitempty" validate:"omitempty,uuid,required_without=Search"`
	Search string `json:"search,omitempty" validate:"omitempty,required_without=Id"`
}

type ReadIdentitiesResponse

type ReadIdentitiesResponse []Identity

type ReadInvitesRequest

type ReadInvitesRequest struct {
	Id    string `json:"id,omitempty"        validate:"omitempty,uuid"`
	Email string `json:"email,omitempty"     validate:"omitempty,email"`
}

type ReadInvitesResponse

type ReadInvitesResponse []Invite

type ReadResourceServersRequest

type ReadResourceServersRequest struct {
	Id string `json:"id,omitempty" validate:"uuid"`
}

type ReadResourceServersResponse

type ReadResourceServersResponse []ResourceServer

type ReadRolesRequest

type ReadRolesRequest struct {
	Id string `json:"id,omitempty" validate:"uuid"`
}

type ReadRolesResponse

type ReadRolesResponse []Role

type ResourceServer

type ResourceServer struct {
	Id          string `json:"id"            validate:"required,uuid"`
	Name        string `json:"name"          validate:"required"`
	Description string `json:"description"   validate:"required"`
	Audience    string `json:"aud"           validate:"required"`
}

type Role

type Role struct {
	Id          string `json:"id"            validate:"required,uuid"`
	Name        string `json:"name"          validate:"required"`
	Description string `json:"description"   validate:"required"`
}

type UpdateChallengesVerifyRequest

type UpdateChallengesVerifyRequest struct {
	OtpChallenge string `json:"otp_challenge" validate:"required"`
	Code         string `json:"code"          validate:"required"`
}

type UpdateChallengesVerifyResponse

type UpdateChallengesVerifyResponse ChallengeVerification

type UpdateHumansDeleteVerifyRequest

type UpdateHumansDeleteVerifyRequest struct {
	DeleteChallenge string `json:"delete_challenge" validate:"required,uuid"`
}

type UpdateHumansDeleteVerifyResponse

type UpdateHumansDeleteVerifyResponse HumanVerification

type UpdateHumansEmailConfirmRequest

type UpdateHumansEmailConfirmRequest struct {
	EmailChallenge string `json:"email_challenge" validate:"required,uuid"`
	Email          string `json:"email"           validate:"required,email"`
}

type UpdateHumansEmailConfirmResponse

type UpdateHumansEmailConfirmResponse HumanVerification

type UpdateHumansEmailRequest

type UpdateHumansEmailRequest struct {
	Id    string `json:"id"    validate:"required,uuid"`
	Email string `json:"email" validate:"required,email"`
}

type UpdateHumansEmailResponse

type UpdateHumansEmailResponse Human

type UpdateHumansLogoutAcceptRequest

type UpdateHumansLogoutAcceptRequest struct {
	Challenge string `json:"challenge" validate:"required"`
}

type UpdateHumansLogoutAcceptResponse

type UpdateHumansLogoutAcceptResponse HumanRedirect

type UpdateHumansPasswordRequest

type UpdateHumansPasswordRequest struct {
	Id       string `json:"id"       validate:"required,uuid"`
	Password string `json:"password" validate:"required,max=55"`
}

type UpdateHumansPasswordResponse

type UpdateHumansPasswordResponse Human

type UpdateHumansRecoverVerifyRequest

type UpdateHumansRecoverVerifyRequest struct {
	RecoverChallenge string `json:"recover_challenge" validate:"required,uuid"`
	NewPassword      string `json:"new_password"           validate:"required,max=55"`
}

type UpdateHumansRecoverVerifyResponse

type UpdateHumansRecoverVerifyResponse HumanVerification

type UpdateHumansRequest

type UpdateHumansRequest struct {
	Id   string `json:"id" validate:"required,uuid"`
	Name string `json:"name,omitempty"`
}

type UpdateHumansResponse

type UpdateHumansResponse Human

type UpdateHumansTotpRequest

type UpdateHumansTotpRequest struct {
	Id           string `json:"id"            validate:"required,uuid"`
	TotpRequired bool   `json:"totp_required"`
	TotpSecret   string `json:"totp_secret"   validate:"required"`
}

type UpdateHumansTotpResponse

type UpdateHumansTotpResponse Human

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL