Project Invites and Membership
Project collaborators can be added by the project owner
through the project
invite flow. The invite flow requires the user's email address to be entered and
doesn't depend on the user having an Ory Cloud account. Ory Cloud will send them
an invite link via the entered email, notifying them of the project they are
invited to as well as who has invited them (your email as the project owner).
Invite user
Without an Ory Cloud account
Ory Cloud supports inviting user's without an Ory Cloud account, however, some conditions need to be met. Once the user follows the invite link, they will be required to register an account. The email entered upon registration has to match the email specified in the invite, if they don't match, the user will need to change their email through the settings flow or recreate an account. The invite also has to still be valid, this means the invite shouldn't have expired or been used.
With Ory Cloud account
The user can simply click on the link, sign in and accept the invite. Of course with the condition that the link is still valid.
Permissions
Only project owners
can invite more members to a project. Any invited member
will automatically have the developer
role assigned, thus preventing any new
member from removing members or adding new ones.
Project Member Seats
Each project, depending on the plan, has a set number of seats associated with
it. The number of seats are used up by pending
and accepted
invites. Once
the invite state changes to expired
, removed
, declined
and canceled
the
seat is freed up again. The reason for pending
invites to take up seats are to
prevent users from using up the seats on a first-come, first-served basis,
leading to more invites sent than member slot availability.
There are two ways to free up member seats:
- Remove a member from the project will result in a
removed
status. - Cancel a
pending
invite will result in acanceled
status.
Invite State and Validity
The invite can have many states, namely:
- pending
- accepted
- declined
- expired
- removed
- canceled
The state of the invite can only change in certain ways depending on the actions
of the subject (invited user), the actor (project owner) and the system. In the
below state diagram the invite state starts out at pending
and then goes on to
be either accepted
, declined
, expired
or canceled
. Only the subject can
accept
and decline
the invite, while the actor can cancel
, remove
and
delete
an invite. The system can expire
an invite.
The link is only valid if it has no user account linked to it and hasn't expired. Once the link has been successfully linked to the user account, the invite will appear in the user's notification panel. Here the user can manage their invites.
Once an invite has been removed by the project owner, the invite will also be removed for the invited user.
note
Invite Links expire after 6 hours and can only be used once.
warning
Deleting an invite is irreversible