Documentation ¶
Overview ¶
Package server provides utility functions to make it easier to integrate Cord into your application.
For more information about the Cord-specific terms used here, see the reference documentation at https://docs.cord.com/reference/.
Index ¶
- func ApplicationManagementAuthToken(customerID string, secret []byte) (string, error)
- func ClientAuthToken(projectID string, secret []byte, data ClientAuthTokenData) (string, error)
- func ProjectManagementAuthToken(customerID string, secret []byte) (string, error)
- func ServerAuthToken(projectID string, secret []byte) (string, error)
- type ClientAuthTokenData
- type GroupDetails
- type OrganizationDetails
- type Status
- type UserDetails
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplicationManagementAuthToken ¶ added in v0.0.2
ApplicationManagementAuthToken returns a server side auth token suitable for authenticating requests to Cord's Applications REST API (see https://docs.cord.com/rest-apis/).
func ClientAuthToken ¶
func ClientAuthToken(projectID string, secret []byte, data ClientAuthTokenData) (string, error)
ClientAuthToken returns a client auth token suitable for authenticating a user to Cord.
func ProjectManagementAuthToken ¶ added in v0.0.4
ProjectManagementAuthToken returns a server side auth token suitable for authenticating requests to Cord's Project REST API (see https://docs.cord.com/rest-apis/).
func ServerAuthToken ¶
ServerAuthToken returns a server auth token suitable for authenticating requests to Cord's REST API (see https://docs.cord.com/rest-apis/).
Types ¶
type ClientAuthTokenData ¶
type ClientAuthTokenData struct { // UserID contains the identifier for the user that this token will // authenticate as. UserID string // OrganizationID contains the identifier for the group that this token will // authenticate as. // // Deprecated: Organizations are now called groups, so the GroupID field // should be used instead. OrganizationID string // GroupID contains the identifier for the group that this token will // authenticate as. We recommend not setting this field, which allows the // user to see objects from any group they are a member of. If a non-zero // value is set, the user using this token will only be able to see objects in // that group. GroupID string // UserDetails contains the information about the user that will be synced to // Cord when this token is used. If set, the user does not need to exist // before this token is used and will be created with these details when the // token is used for authenticate. UserDetails *UserDetails // OrganizationDetails contains the information about the group to set when // they log in. // // Deprecated: Organizations are now called groups, so the GroupDetails field // should be used instead. OrganizationDetails *GroupDetails // GroupDetails contains the information about the group that will be synced // to Cord when this token is used. If set, the group does not need to exist // before this token is used and will be created with these details when the // token is used for authenticate, and the user will be made a member of the // group. GroupDetails *GroupDetails }
ClientAuthTokenData is the data that can be supplied in a client auth token.
type GroupDetails ¶ added in v0.0.3
type GroupDetails struct { Name string `json:"name"` Status Status `json:"status,omitempty"` Members []string `json:"members,omitempty"` Metadata map[string]interface{} `json:"metadata,omitempty"` }
GroupDetails contains the information about a group that needs to be synced to Cord. Any values that are left at their zero value are not sent except Name, which is required.
type OrganizationDetails ¶
type OrganizationDetails = GroupDetails
type Status ¶
type Status int
A Status is the state of a user or group.
func (Status) MarshalJSON ¶
MarshalJSON marshals a Status to its text format
type UserDetails ¶
type UserDetails struct { // Email contains the user's email address. Email string `json:"email,omitempty"` // Name contains the user's full name, to be displayed in the user interface. Name string `json:"name,omitempty"` // ProfilePictureURL contains a URL to an image for the user's profile picture. ProfilePictureURL string `json:"profile_picture_url,omitempty"` // Status contains the status of this user. Status Status `json:"status,omitempty"` // Metadata contains arbitrary additional data about this user. The values // may only be booleans, numbers, and strings; in particular, nested object // values or arrays will be rejected by the server. Metadata map[string]interface{} `json:"metadata,omitempty"` // Deprecated: This field is deprecated and has no effect FirstName string `json:"-"` // Deprecated: This field is deprecated and has no effect LastName string `json:"-"` }
UserDetails contains the information about a user that needs to be synced to Cord. Any values that are left at their zero value are not sent.