Documentation ¶
Overview ¶
Package identity defines Identity type and related types and constants. Identity represents a caller that makes requests.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Glob ¶
type Glob string
Glob is glob like pattern that matches identity strings of some kind.
It is a string of the form "kind:<pattern>" where 'kind' is one of Kind constants and 'pattern' is a wildcard pattern to apply to identity name.
The only supported glob syntax is '*', which matches zero or more characters.
Case sensitive. Doesn't support multi-line strings or patterns. There's no way to match '*' itself.
func MakeGlob ¶
MakeGlob ensures 'glob' string looks like a valid identity glob and returns it as Glob value.
func (Glob) Kind ¶
Kind returns identity glob kind. If identity glob string is invalid returns Anonymous.
func (Glob) Match ¶
Match returns true if glob matches an identity. If identity string or identity glob string are invalid, returns false.
type Identity ¶
type Identity string
Identity represents a caller that makes requests. A string of the form "kind:value" where 'kind' is one of Kind constant and meaning of 'value' depends on a kind (see comments for Kind values).
const AnonymousIdentity Identity = "anonymous:anonymous"
AnonymousIdentity represents anonymous user.
func MakeIdentity ¶
MakeIdentity ensures 'identity' string looks like a valid identity and returns it as Identity value.
func (Identity) Email ¶
Email returns user's email for identity with kind User or empty string for all other identity kinds. If identity string is undefined returns "".
type Kind ¶
type Kind string
Kind is enumeration of known identity kinds. See Identity.
const ( // Anonymous kind means no identity information is provided. Identity value // is always 'anonymous'. Anonymous Kind = "anonymous" // Bot is used for bots authenticated via IP whitelist. Identity value is // bot's IP address (IPv4 or IPv6). Bot Kind = "bot" // Service is used for GAE apps using X-Appengine-Inbound-Appid header for // authentication. Identity value is GAE app id. Service Kind = "service" // User is used for regular users. Identity value is email address. User Kind = "user" )