-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
website/docs: add a new page to help people get started after install is complete #19217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 39 commits
Commits
Show all changes
46 commits
Select commit
Hold shift + click to select a range
8bb702b
new first steps docs
tanberry ec2b9ba
moved email config up to match Docker
tanberry e8996c9
Merge branch 'main' into docs-first-steps
tanberry c58d7ff
first draft
tanberry c9a2405
moved sections and retitled some
tanberry f120e17
more content, tweaks
tanberry 297d4ca
dewis edits
tanberry ee11194
added Dewi ideas, more content, tweaks
tanberry 9ce75e0
more content, green tips, other fixes
tanberry 9d210d9
Merge branch 'main' into docs-first-steps
tanberry 0fd8069
Optimised images with calibre/image-actions
authentik-automation[bot] 7858ab8
Optimised images with calibre/image-actions
authentik-automation[bot] a473d06
Optimised images with calibre/image-actions
authentik-automation[bot] b31517c
Merge branch 'main' into docs-first-steps
tanberry 597a670
conflicts?
tanberry 942a002
dominic's eedits, more content
tanberry 9ec9f11
another fine Dominic edit
tanberry 8e37908
Merge branch 'main' into docs-first-steps
dewi-tik cd46166
more dewi and dominic edits, links
tanberry 3b55253
a bunch of things
BeryJu d18ab06
tweaks
tanberry b47016c
thanks Teffen
tanberry 7027b7c
new styles, more content
tanberry 7480cb3
Merge branch 'main' into docs-first-steps
tanberry 727ba71
few more dominic edits, tweaks
tanberry bc06779
formatting fights on tips
tanberry 4da35e1
fix some alignments
BeryJu dfbbbe0
changes from Jens
tanberry d990f53
work on bindings docs that was needed for the first steps docs
tanberry f956ca1
links, more tweaks
tanberry dbaff40
more edits, more TODOs done
tanberry 2e4abd4
add mermaid diagram, more links, more content
tanberry ed8c373
fix sidebar, tweaks
tanberry 86e3720
tweak
tanberry 45cdf97
more link fixing
tanberry 1e7e4d1
fix heading size
tanberry c42dad5
more dewi and dominic edits
tanberry bd72cb2
Merge branch 'main' into docs-first-steps
tanberry 6f87b9c
Merge branch 'main' into docs-first-steps
tanberry d6b07d5
more dewi and dominic edits
tanberry ac7856f
teffen enhancements yay and more bindings rearchitecting
tanberry dd907a1
Merge branch 'main' into docs-first-steps
tanberry 6834a0f
added note about stage bindings being the only type of binding that y…
tanberry 8703355
Merge branch 'main' into docs-first-steps
tanberry 905bf6b
Merge branch 'main' into docs-first-steps
tanberry 070327b
Merge branch 'main' into docs-first-steps
tanberry File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
113 changes: 113 additions & 0 deletions
113
website/docs/add-secure-apps/bindings-overview/index.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,113 @@ | ||
| --- | ||
| title: authentik bindings | ||
| --- | ||
|
|
||
| A binding is, simply put, a connection between two components. The use of a binding adds additional functionality to one the existing components; for example, a policy binding can cause a new stage to be presented within a flow to a specific user or group. | ||
|
|
||
| :::info | ||
| For information about creating and managing bindings, refer to [Work with bindings](./work-with-bindings.md). | ||
| ::: | ||
|
|
||
| Bindings are an important part of authentik; the majority of configuration options are defined in bindings. | ||
|
|
||
| It's important to remember that bindings are instantiated objects themselves, and conceptually can be considered as a "connector" between two components. This is why you might read about "binding a binding", because technically, a binding is "spliced" into another binding, in order to intercept and enforce the criteria defined in the second binding. | ||
tanberry marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ## Relations with bindings | ||
|
|
||
| This diagram shows the relationships that bindings have between components. The primary components are _policy_, _user_, and _group_; these three objects can be bound to either an application, application entitlement, flow, flow-stage binding, source, device, device access group, notification rule, or endpoint. | ||
tanberry marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ```mermaid | ||
|
|
||
| flowchart TD | ||
| subgraph Directory | ||
| user[User] | ||
| group[Group] | ||
| end | ||
|
|
||
| subgraph Policy | ||
| policy[Policy] | ||
| policy_binding[Policy Binding] | ||
| end | ||
|
|
||
| subgraph Application | ||
| application[Application] | ||
| application_entitlement[Application Entitlement] | ||
| end | ||
| subgraph Sources | ||
| source[Source] | ||
| end | ||
| subgraph Endpoint devices | ||
| device[Device] | ||
| device_access_group[Device Access Group] | ||
| end | ||
| subgraph Events | ||
| notification_rule[Notification Rule] | ||
| end | ||
| subgraph RAC Provider | ||
| endpoint[Endpoint] | ||
| end | ||
| subgraph Flows | ||
| flow[Flow] | ||
| flow_stage_binding[Flow Stage Binding] | ||
| stage[Stage] | ||
| end | ||
|
|
||
| policy --> policy_binding | ||
| user --> policy_binding | ||
| group --> policy_binding | ||
|
|
||
| policy_binding --> application | ||
| policy_binding --> application_entitlement | ||
| policy_binding --> source | ||
| policy_binding --> device | ||
| policy_binding --> device_access_group | ||
| policy_binding --> notification_rule | ||
| policy_binding --> flow | ||
| policy_binding --> endpoint | ||
|
|
||
| flow_stage_binding --> stage | ||
| flow --> flow_stage_binding | ||
|
|
||
| policy_binding --> flow_stage_binding | ||
| ``` | ||
|
|
||
| ## Types of bindings | ||
|
|
||
| The two most common types of bindings in authentik are: | ||
|
|
||
| - policy bindings (which can also bind to users and groups) | ||
| - flow-stage bindings | ||
|
|
||
| ### Policy bindings | ||
|
|
||
| A _policy binding_ connects a specific policy (a policy object) to a flow or flow-stage binding. With the policy binding, the flow (or specifically the stage within the flow) will now have additional content (i.e. the rules of the policy). | ||
|
|
||
| With policy bindings, you can also bind groups and users to another component (an application, a source, a flow, etc.). For example you can bind a group to an application, and then only that group (or other groups also bound to it), can access the application. | ||
|
|
||
| Bindings are also used for [Application Entitlements](../../add-secure-apps/applications/manage_apps.mdx#application-entitlements), where you can bind specific users or groups to an application as a way to manage who has access to certain areas _within an application_. | ||
|
|
||
| ::: info | ||
| Be aware that policy bindings that are bound directly to the flow are evaluated _before_ the flow executes, so if the user is not authenticated, the flow will not start. | ||
| ::: | ||
|
|
||
| ### Flow-stage bindings | ||
|
|
||
| :::info | ||
| Be aware that depending on context, user and group policy bindings are not evaluated (i.e. ignored). For example, if you are not authenticated or if authentik has not yet identified the user, a policy binding that depends on knowing who the user is cannot be evaluated. | ||
| ::: | ||
|
|
||
| Flow-stage bindings are analyzed by authentik's Flow Plan, which starts with the flow, then assesses all of the bound policies, and then runs them in order to build out the plan. | ||
|
|
||
| A _flow-stage binding_ connects a stage to a flow in a specified order, so that the stage is executed at the desired point within the flow. | ||
|
|
||
| For example, you can create a binding for a specific group, and then [bind that to a stage binding](../flows-stages/stages/index.md#bind-users-and-groups-to-a-flows-stage-binding), with the result that everyone in that group now will see that stage (and any policies bound to that stage) as part of their flow. Or more specifically, and going one step deeper, you can also _bind a binding to a binding_. | ||
|
|
||
| Flow-stage bindings can have policy bindings bound to them; this can be used to conditionally run or skip stages within a flow. There are two settings in a flow-stage binding that configure _when_ these policies are executed: | ||
|
|
||
| - **Evaluate when flow is planned** | ||
| Policies are evaluated when authentik creates a flow plan that contains a reference to all of the stages that the user will need to go through to complete the flow. In this case,user-specific attributes are only available if the user is already authentiticated before beginning the flow. | ||
|
|
||
| - **Evaluate when the stage is run** | ||
| Policies bound to a flow-stage binding are evaluated before the stage is run (i.e after the flow has started but before the stage is reached in the flow). Therefore the context with which policy bindings to the flow-stage binding are evaluated reflects the current state of the flow. | ||
|
|
||
| For example, when configuring an authentication flow with an identification stage bound to it, and a user bound to a Captcha flow-stage binding, with this setting (**Evaluate when stage is run**) enabled authentik can check against the user who has identified themselves previously. | ||
12 changes: 12 additions & 0 deletions
12
website/docs/add-secure-apps/bindings-overview/work-with-bindings.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| --- | ||
| title: Work with bindings | ||
| --- | ||
|
|
||
| As covered in the [overview](./index.md), bindings interact with many other components. | ||
|
|
||
| For instructions to create a binding, refer to the documentation for the specific components: | ||
|
|
||
| - [Bind a stage to a flow](../flows-stages/stages/index.md#bind-a-stage-to-a-flow) | ||
| - [Bind a policy to a flow, stage, application, or source](../../customize/policies/working_with_policies.md#bind-a-policy-to-a-flow-stage-application-or-source) | ||
| - [Bind users or groups to a specific application](../applications/manage_apps.mdx#use-bindings-to-control-access) | ||
| - [Bind users and groups to a stage binding, to define whether or not that stage is shown](../flows-stages/stages/index.md#bind-users-and-groups-to-a-flows-stage-binding) |
33 changes: 0 additions & 33 deletions
33
website/docs/add-secure-apps/flows-stages/bindings/index.md
This file was deleted.
Oops, something went wrong.
13 changes: 0 additions & 13 deletions
13
website/docs/add-secure-apps/flows-stages/bindings/work_with_bindings.md
This file was deleted.
Oops, something went wrong.
13 changes: 13 additions & 0 deletions
13
website/docs/add-secure-apps/flows-stages/flow-stage-bindings/index.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| --- | ||
| title: Stage bindings | ||
| --- | ||
|
|
||
| You can use a binding to determine which exact [stages](../stages/index.md) (all of the _steps_ within a flow) are presented to a user (or a group). | ||
|
|
||
| A _stage binding_ connects a stage to a flow. The "additional content" (i.e. the content in the stage) is now added to the flow. | ||
|
|
||
| :::info | ||
| Be aware that some stages and flows do not allow user or group bindings, because in certain scenarios (authentication or enrollment), the flow plan doesn't yet know who the user or group is. | ||
| ::: | ||
|
|
||
| For an overview about all the different types of bindings in authentik and how they are used, refer to [About authentik bindings](../../bindings-overview/index.md). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.