docs(flows.md): grammar and clarity

This commit is contained in:
tigattack 2020-06-18 18:00:05 +01:00 committed by GitHub
parent 96c41f399e
commit cdad8bb0c3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2,17 +2,17 @@
Flows are a method of describing a sequence of stages. A stage represents a single verification or logic step. They are used to authenticate users, enroll them, and more. Flows are a method of describing a sequence of stages. A stage represents a single verification or logic step. They are used to authenticate users, enroll them, and more.
Upon Flow execution, a plan is generated, which contains all stages. This means upon execution, all attached policies are evaluated. This behaviour can be altered by enabling the `Re-evaluate Policies` option on the binding. Upon flow execution, a plan containing all stages is generated. This means that all attached policies are evaluated upon execution. This behaviour can be altered by enabling the `Re-evaluate Policies` option on the binding.
To determine which flow is linked, passbook searches all Flows with the required designation and chooses the first instance the current user has access to. To determine which flow is linked, passbook searches all flows with the required designation and chooses the first instance the current user has access to.
## Permissions ## Permissions
Flows can have policies assigned to them, which determines if the current user is allowed to see and use this flow. Flows can have policies assigned to them. These policies determine if the current user is allowed to see and use this flow.
## Designation ## Designation
Flows are designated for a single Purpose. This designation changes when a Flow is used. The following designations are available: Flows are designated for a single purpose. This designation changes when a flow is used. The following designations are available:
### Authentication ### Authentication
@ -22,24 +22,24 @@ The authentication flow should always contain a `user_login` stage, which attach
### Invalidation ### Invalidation
This designates a flow to be used for the invalidation of a session. This designates a flow to be used to invalidate a session.
This stage should always contain a `user_logout` stage, which resets the current session. This stage should always contain a `user_logout` stage, which resets the current session.
### Enrollment ### Enrollment
This designates a flow for enrollment. This flow can contain any amount of Prompt stages, E-Mail verification or Captchas. At the end to create the user, you can use the `user_write` stage, which either updates the currently staged user, or if none exists, creates a new one. This designates a flow for enrollment. This flow can contain any amount of verification stages, such as email or captcha. At the end, to create the user, you can use the `user_write` stage, which either updates the currently staged user, or if none exists, creates a new one.
### Unenrollment ### Unenrollment
This designates a flow for unenrollment. This flow can contain any amount of verification, like `email` or captcha. To finally delete the account, use the `user_delete` stage. This designates a flow for unenrollment. This flow can contain any amount of verification stages, such as email or captcha. As a final stage, to delete the account, use the `user_delete` stage.
### Recovery ### Recovery
This designates a flow for recovery. This flow normally contains an `identification` stage to find the user. Then it can contain any amount of verification, like `email` or captcha. This designates a flow for recovery. This flow normally contains an `identification` stage to find the user. It can also contain any amount of verification stages, such as email or captcha.
Afterwards, use the `prompt` stage to ask the user for a new password and use `user_write` to update the password. Afterwards, use the `prompt` stage to ask the user for a new password and the `user_write` stage to update the password.
### Change Password ### Change Password
This designates a flow for password changing. This flow can contain any amount of verification, like `email` or captcha. This designates a flow for password changes. This flow can contain any amount of verification stages, such as email or captcha.
Afterwards, use the `prompt` stage to ask the user for a new password and use `user_write` to update the password. Afterwards, use the `prompt` stage to ask the user for a new password and the `user_write` stage to update the password.