hook.identity¶
- class immp.hook.identity.Identity(name, provider=None, links=(), roles=(), profile=None)¶
Bases:
object
Basic representation of an external identity.
- provider¶
Service hook where the identity information was acquired from.
- Type:
.IdentityProvider
- links¶
Physical platform users assigned to this identity.
- Type:
.User list
- roles¶
Optional set of role names, if applicable to the backend.
- Type:
str list
- async classmethod gather(*tasks)¶
Helper for fetching users from plugs, filtering out calls with no matches:
>>> await Identity.gather(plug1.user_from_id(id1), plug2.user_from_id(id2)) [<Plug1User: '123' 'User'>]
- Parameters:
tasks (coroutine list) – Non-awaited coroutines or tasks.
- Returns:
Gathered results of those tasks.
- Return type:
.User list
- class immp.hook.identity.IdentityProvider¶
Bases:
object
Interface for hooks to provide identity information from a backing source.
- provider_name¶
Readable name of the underlying service, used when displaying info about this provider.
- Type:
- async identity_from_name(name)¶
Look up an identity by the external provider’s username for them.
- Parameters:
name (str) – External name to query.
- Returns:
Matching identity from the provider, or
None
if not found.- Return type:
.Identity
- async identity_from_user(user)¶
Look up an identity by a linked network user.
- Parameters:
user (.User) – Plug user referenced by the identity.
- Returns:
Matching identity from the provider, or
None
if not found.- Return type:
.Identity