From e4905f1431e62cb0436edd2dfebe69a05eb9dcae Mon Sep 17 00:00:00 2001 From: Dakshitha Ratnayake Date: Wed, 8 May 2024 14:13:37 +0530 Subject: [PATCH 01/35] docs(sdk-examples): Added description about setting up samples in console (#7838) * Added description about setting up samples in console * Changed default text. * Update introduction.mdx * Update introduction.mdx --- docs/docs/sdk-examples/introduction.mdx | 8 +++++++- docs/static/img/sdk-examples/console.png | Bin 0 -> 205034 bytes 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 docs/static/img/sdk-examples/console.png diff --git a/docs/docs/sdk-examples/introduction.mdx b/docs/docs/sdk-examples/introduction.mdx index d3f279bbba..45e2465fb8 100644 --- a/docs/docs/sdk-examples/introduction.mdx +++ b/docs/docs/sdk-examples/introduction.mdx @@ -6,7 +6,7 @@ sidebar_label: Introduction You can integrate ZITADEL quickly into your application and be up and running within minutes. To achieve your goals as fast as possible, we provide you with SDKs, Example Repositories and Guides. -The SDKs and Integration depend on the framework and language you are using. +The SDKs and integration depend on the framework and language you are using. import { Frameworks } from "../../src/components/frameworks"; @@ -14,6 +14,12 @@ import { Frameworks } from "../../src/components/frameworks"; +To further streamline your setup, simply visit the console in ZITADEL where you can select one of the languages or frameworks. This will allow you to instantly set up the configuration for that specific sample in ZITADEL, ensuring you have everything you need to get started right away. + +![Console](/img/sdk-examples/console.png) + +To begin configuring login for any of these samples, start [here](https://zitadel.com/signin). + ### OIDC Libraries OIDC is a standard for authentication and most languages and frameworks do provide a OIDC library which can be easily integrated to your application. diff --git a/docs/static/img/sdk-examples/console.png b/docs/static/img/sdk-examples/console.png new file mode 100644 index 0000000000000000000000000000000000000000..4dce7de502cd5fe829dad191ef217ec30e1a4b4a GIT binary patch literal 205034 zcmeFYbyQqi_AUwpCs=T|;O_435C|>-g1fr~cXxM(;4TRc!QG*d!rk>&&N;V#{oWh5 zPj~WygqDL8W$(!AB_>Pi<6&G`;kHkYU`sn-?QmT)N=|XmDeRDKj0n1FtB-@N?JXqZ4&V6=33`5Wd?% zANlJNoK@26ksOJ7QOp!P>vjThv5=J}u}oxODs-)io{LV)h>5BJ1*Joe1WiQJpe>wz zr4s&!+}T0+>7pOCG*9uX9sUo7c&y^9QW)zgIXFb+zmVsD0;vHZjz1U>`i}#_2@KX# zL;YJ}1O0_ZT8(r?>_swVfB_!`iPg9g{<={tt!cbS*P~=297Kx42=RIiNVT5 zDm_IOyuhUd`x+<(dkH-VMdcBc3wEgwqq#eWT1e}GfKFETLnYKvm}|)Yj-{XKBDY!W z9Fis9*A4h%B;;bRhvw|@leTthFSz5Xg*jGwx% zhOQmvDK}Hh*==A+pvzCPpUxsMTeo7$an~hOk^xAiM3p1r%Q3AzRe8mDgnmy#&ZUt@ zTfsf3u0cMFEkxJH(3;USHtuSvg6415(1Lu3Nd!x2k?|q1FT+iOF@;MrtI(f!T3?w3 zM>J-juf}kWAC?4xA;$<`@Luc5n^0C_vicPafwg2B@4grg)=E@j@X`zhR2+pFIwQJ8 zeC|s?bQXI%=RE(qoA%4G+WFMwHUD@NOCia(0NgbGYr1M;T-wCfUIO8vo$v>R-c*Kh zhH9{(JFH#ck$j}#hS0TEx8v0-SP#(6*Y|DfOlQ#^?AD`a;ce1&JQ=DP$r)^%05Dnz zC4-cr4|`549AcXezS>UbN1qvkUv1gaQQ+W=RDrm0(ur$CWXX&RHzrz=b#mB@gojA?TXMnNzCr^bf0&+FO##6^LId)myvEgQkt$)HLecD@$NLDj;F0>#>;wdGa)KBKXwOgF z_}9Pb_Y(m+?>QlozKGcoyP>uOG6%l@i7vvN7x_KOF4hjWOExReRg6?Q#!U3u@63>e zIf5&zCAB5GCByC8qJo#)FaOXmsqjna779pq>UhUIa^Hj;60tY1AG34eZnJ&Gm1S!(&zx+j zx(Jpj(o%UTqn`CT{9u82gMI^k^Dau*G2h-CV%bWIyeiuz=r&%VSbJ*e8tz)e1IJtN zx~xxGx;)lAoo&l))oo#ID$cadF^4Yu1|IVs zI-U5PMIKMrHv8VVhJ1niVq9ORV%td6gF6<8%Fk*TXBnq9s(f|d62NDOhlp3cv-{4$?ekW z0N;;}A+P2KZ-j8DQPMTTB=LIjnxe8@vr(Mn#$?yZAvL-Rxe9hQ)2emt6%9&F#_u-Y zPwS?dx0cbDXO~y&i4wm6op{k7{?)LoHX%RI9@ zn?s5u%O#Tr<&%+U(;HKr#}hVjHn~@>LV=Qut~FjY-g>_7ydI{WXXmH5#;h`27Nezu z0($~{Ir0JoU2+?$8&O>ZJ|;eV-4@-Fub8h8Z&j}oi!R4>w+gqTU_dbQo*#a9_>ALn z<6%N{Odr30{7x^$OGQ#jx-b0Q-A=;J+Ripqd+0hAEiZ8Ld~!FBvvoj6pgDL2Zx5A& zwUS(ijE|v%^jSI3JCH5koQ;Ra>Uw1Ajm$@%>KXoLv zq?XLkv@bi#s82p}1@(?WfY`_Uc@1&}Qd7i{l;2**P#*A9*i(ohO<)uplg7PgSZ7d2 z)yf={7@u0lUSw-Exj1LUJJ=dUOXzCUF?L_JJ)y{y8Oyr0FZL+5-uF@#I9oVNP^Ryu z++m@okIPv_Q7#M7@ogwqKKxWg z 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�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�u4wh4^9bQ>|6}2)3DvU!=+IO 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 z zEl+Lu#}&V)n|a`+r?2RCatMnGw4AcoPw)^IXnBfIw+b8SZFH5Soya^?Aa48p)GL2~x@#z*XB1zv%LLhA5OOSlXoj1bnmS$Kmi0Zt{DasH5v#e0 zgc0(%yecH=x+dZnA^C7~wYixU)gwSX<7};jQtgU7cHl}Dm$MSh$x^p^ytR4v(5Idg zDCfvUVZjRZ-o}w~e5@gwCO-f+sXV_<)WVov63(X?C+zkP(Ij{|;&$0`Cc-T`;<|v_ zgWH_pKAw2I-8T57lzimf!Mii_U;W?r_iqssyK@j%@Vl!jJ&~nCfxVMew|8^D;zEvy zIGAl8!Gb-@y~OKCM>DHhQQMYE4GFa^SF?ge!{=93EWD-3Xt56-vc=miegZmPkMfe) zmDFPH?j35P{YID`v;Weljg%B5Y~y9L96v-0lJskfVKad`D8k>;Uzv27C+YDBZn1xL zDkF#q`WfM969{E8IKY`1eVnuLuB3W?enXa3UqFW+tHNZ!U?w3{drP!p>DtGt0Fgq#feTr3 ziz|cpE;^OlRH9g@g&UvRBP&7msXyScvOKAN#WAyXjAbL!d5-Rc8DC~h@D()AKHS?) z$b82UWieK5(gi5JwCyisQM;ue9xezSkbYGj)j&o&numx8wd_o4YHm+PoCMPFZ@Ih! zhgf`G8io+yORmeBapK-dH{h;9iTVvN;q6Ekb(E#K<+j>$+~UOI$d|{_jad}JN9$qm z7ca<+W5P`7B@GEx@)UUY=vd8;b+kf13W2y zJ^Wey4-5x1+{CI;_L&12uf{h)H>+JUbq(O%vX5lF`>Nj9N4?f1>7V2O%73qZ0KT{C zWOvxQ<=qfD0Klp;Ms!g41v*6sKCge|MkZ5$QZDm6AsehYTOw?o8veslI6*0*J{v0qX^V7RGXD)uSqlBR?puk4>uxU#$Tp z%n~2B>!v82eS4z|BPfl4$TJeNT$c*WP%tf;Ud_7Jk<@}bCsbrupbB1a?tD?3kbx>#Y*Tn z-4yEEjBHU3>d#I9E~21r)m+BD30P2qZJN!j)di zvlfZp0UeAzzi@H^+u783oDqDP0KUv|H{NY!Y2JOZ?JOhom1aW@vZ#Urt@B1#D_jO_ue6i2;nn6kFCAWdEQz z8Nf?|Mi*E}K{{MA)DEqm_W~fhQL=kEH*g5l@-u0*uME2-YC?2YZX&)=@SR;USTNa+V<`g-2Sx}I1tfD#M@ z)PSD>^@rs68Bpoc_-8;}m(BeQsNY=WfAeoY1L}W6=36BG8Bo_@Za)L+kMqwzl8>Ji zD&5!y%<=zNq5A(Yz4(p*{aX~Qs#adueBe2dN#7g%Ba74qB~0M!w@T~K{hAA(kO9q{ zOYQNDjrt@F3R%Y_e?9tM{hRNC+3f&{xxSmOK0~9V!1fVu3Ewh~by)ryxcR|u06B*_ zX~sqcg2H$1R<`wz>gqKs`fDM#j({qX?+y Date: Thu, 9 May 2024 19:12:42 +0200 Subject: [PATCH 02/35] chore: improve commit messages (#7921) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: improve commit messages * indent * cleanup * additional changes --------- Co-authored-by: Tim Möhlmann --- .github/pull_request_template.md | 40 +++++++++++++++++--------- .github/workflows/ready_for_review.yml | 31 ++++++++++++++++++++ 2 files changed, 57 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/ready_for_review.yml diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 899ab5a036..25969473d2 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,15 +1,27 @@ -### Definition of Ready +# Which Problems Are Solved -- [ ] I am happy with the code -- [ ] Short description of the feature/issue is added in the pr description -- [ ] PR is linked to the corresponding user story -- [ ] Acceptance criteria are met -- [ ] All open todos and follow ups are defined in a new ticket and justified -- [ ] Deviations from the acceptance criteria and design are agreed with the PO and documented. -- [ ] No debug or dead code -- [ ] My code has no repetitions -- [ ] Critical parts are tested automatically -- [ ] Where possible E2E tests are implemented -- [ ] Documentation/examples are up-to-date -- [ ] All non-functional requirements are met -- [ ] Functionality of the acceptance criteria is checked manually on the dev system. +Replace this example text with a concise list of problems that this PR solves. +For example: +- If the property XY is not given, the system crashes with a nil pointer exception. + +# How the Problems Are Solved + +Replace this example text with a concise list of changes that this PR introduces. +For example: +- Validates if property XY is given and throws an error if not + +# Additional Changes + +Replace this example text with a concise list of additional changes that this PR introduces, that are not directly solving the initial problem but are related. +For example: +- The docs explicitly describe that the property XY is mandatory +- Adds missing translations for validations. + +# Additional Context + +Replace this example with links to related issues, discussions, discord threads, or other sources with more context. +Use the Closing #issue syntax for issues that are resolved with this PR. +- Closes #123 +- Discussion #456 +- Follow-up for PR #789 +- https://discord.com/channels/123/456 \ No newline at end of file diff --git a/.github/workflows/ready_for_review.yml b/.github/workflows/ready_for_review.yml new file mode 100644 index 0000000000..f46ee4a407 --- /dev/null +++ b/.github/workflows/ready_for_review.yml @@ -0,0 +1,31 @@ +on: + pull_request: + types: [opened] + +jobs: + comment: + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v7 + with: + script: | + const content = `### Thanks for your contribution! 🎉 + + Please make sure you tick the following checkboxes before marking this Pull Request (PR) as ready for review: + + - [ ] I am happy with the code + - [ ] Documentations and examples are up-to-date + - [ ] Logical behavior changes are tested automatically + - [ ] No debug or dead code + - [ ] My code has no repetitions + - [ ] The PR title adheres to the [conventional commit format](https://www.conventionalcommits.org/en/v1.0.0/) + - [ ] The example texts in the PR description are replaced. + - [ ] If there are any open TODOs or follow-ups, they are described in issues and link to this PR + - [ ] If there are deviations from a user stories acceptance criteria or design, they are agreed upon with the PO and documented. + `; + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: content + }) \ No newline at end of file From 694232474127f80d2722f70a482b1d6b8229ee04 Mon Sep 17 00:00:00 2001 From: mffap Date: Mon, 13 May 2024 08:29:25 +0200 Subject: [PATCH 03/35] docs(concepts): Update resources and features, add account linking (#7934) * account linking * updates to concepts and features * Apply suggestions from code review * Apply suggestions from code review Co-authored-by: Fabi --------- Co-authored-by: Fabi --- .../docs/concepts/features/account-linking.md | 36 ++++++++++++ docs/docs/concepts/structure/applications.md | 26 +++++++-- docs/docs/concepts/structure/instance.mdx | 1 + docs/docs/concepts/structure/organizations.md | 1 + docs/docs/concepts/structure/projects.md | 5 +- docs/docs/concepts/structure/users.md | 55 ++++++++++++++----- .../manage/console/_application-types.mdx | 5 ++ .../guides/manage/console/applications.mdx | 9 +-- docs/sidebars.js | 32 +++++++---- 9 files changed, 134 insertions(+), 36 deletions(-) create mode 100644 docs/docs/concepts/features/account-linking.md create mode 100644 docs/docs/guides/manage/console/_application-types.mdx diff --git a/docs/docs/concepts/features/account-linking.md b/docs/docs/concepts/features/account-linking.md new file mode 100644 index 0000000000..43a5066763 --- /dev/null +++ b/docs/docs/concepts/features/account-linking.md @@ -0,0 +1,36 @@ +--- +title: Account linking +--- + +ZITADEL supports linking of user accounts from different external identity providers such as social logins or enterprise IdPs. +A user can authenticate from any of their accounts and still be recognized by your app and associated with the same user profile. + +In ZITADEL, users have one user account to simplify access management and provide a consistent audit trail. +A user account can have a link to multiple external identities. + +### Advantages + +- Users can login with multiple identity providers without managing separate profiles +- Already registered users can link existing profiles +- Provide backup authentication methods in case an IdP is unavailable +- Unified audit trail across multiple identities + +### How it works + +ZITADEL gives you great flexibility to configure account linking for an organization and based on the external identity provider. + +When using external identity providers (ie. social login, enterprise SSO), a user account will be created in ZITADEL. +The [external identity](../structure/users#federated-users) will be linked to the ZITADEL account. + +If login with "Username / Password" (ie. local account) is enabled and you have configured external IDPs, the user can decide if they want to login with an external IDP or the local account. + +When only one external identity provider is configured and login with "Username / Password" is disabled, then the user is immediately redirected to the external identity provider. + +In cases when a local account already exists and a user logs in with an external identity provider, you can instruct ZITADEL to link the external identity to the local account based on the username or email address. + +### Automatic account linking + +You can link accounts with the same email or username and prompt users to link them. +On an [identity provider template settings](/docs/guides/integrate/identity-providers/introduction#key-settings-on-the-templates), you must enable "Account linking allowed". + +Automatic account linking is beneficial for users who wish to associate multiple login methods with their ZITADEL account, providing flexibility and convenience in how they access your application. diff --git a/docs/docs/concepts/structure/applications.md b/docs/docs/concepts/structure/applications.md index 1a3343b620..183e4bc032 100644 --- a/docs/docs/concepts/structure/applications.md +++ b/docs/docs/concepts/structure/applications.md @@ -1,10 +1,28 @@ --- -title: ZITADEL Applications +title: Configure applications for your frontend and backend services and clients sidebar_label: Applications +sidebar_position: 5 --- +import AppType from "../../guides/manage/console/_application-types.mdx"; -# Applications +Applications are the entry point to your project. +[Users](users.md) either login into one of your clients and interact with them directly or use one of your APIs. +All applications share the roles and authorizations of their [project](projects.md). -Applications are the entry point to your project. Users either login into one of your clients and interact with them directly or use one of your APIs. All applications share the roles and authorizations of their project. +## Supported application types -To read more about available authentication types and how to setup applications, read this guide [here](../../guides/manage/console/applications) +ZITADEL supports the following client types: + + + +## Security considerations + +Ensure the configuration of application settings is limited to authorized users only. + +- Use [Manager roles](managers.mdx) to limit permissions for your users to make changes to your applications +- When [granting projects](granted_projects.md) to other organizations, the receiving organization can't see or change application configuration + +## References + +- [Configure Applications in the Console](../../guides/manage/console/applications) +- [ZITADEL API: Applications](/docs/category/apis/resources/mgmt/applications) diff --git a/docs/docs/concepts/structure/instance.mdx b/docs/docs/concepts/structure/instance.mdx index d6d166f466..419fa0b938 100644 --- a/docs/docs/concepts/structure/instance.mdx +++ b/docs/docs/concepts/structure/instance.mdx @@ -1,6 +1,7 @@ --- title: ZITADEL Instances sidebar_label: Instances +sidebar_position: 1 --- ## Instance Structure diff --git a/docs/docs/concepts/structure/organizations.md b/docs/docs/concepts/structure/organizations.md index c3366bab12..f84a68dd54 100644 --- a/docs/docs/concepts/structure/organizations.md +++ b/docs/docs/concepts/structure/organizations.md @@ -1,6 +1,7 @@ --- title: ZITADEL Organizations sidebar_label: Organizations +sidebar_position: 2 --- import OrgDescription from './_org_description.mdx'; diff --git a/docs/docs/concepts/structure/projects.md b/docs/docs/concepts/structure/projects.md index 179c5c62e6..f7035a1e23 100644 --- a/docs/docs/concepts/structure/projects.md +++ b/docs/docs/concepts/structure/projects.md @@ -1,10 +1,9 @@ --- -title: ZITADEL Projects +title: Organize applications, services, and roles with projects sidebar_label: Projects +sidebar_position: 4 --- -# Project - import ProjectDescription from './\_project_description.mdx'; diff --git a/docs/docs/concepts/structure/users.md b/docs/docs/concepts/structure/users.md index 5ece5af7bd..b6440f33ad 100644 --- a/docs/docs/concepts/structure/users.md +++ b/docs/docs/concepts/structure/users.md @@ -1,6 +1,7 @@ --- title: ZITADEL Users sidebar_label: Users +sidebar_position: 3 --- ## Types of users @@ -15,18 +16,36 @@ Human users typically logon with an interactive login. This means that an application redirects a user to a website ("login page") where the user can provide the credentials. ZITADEL handles the authentication and provides the application with a token that verifies the authentication process. +Read more on how to [login users with ZITADEL](/docs/guides/integrate/login/login-users). + ### Service users Service users are for machine-to-machine communication and you would use those typically to access secure backend services. For example in ZITADEL you would require an authenticated Service User to access the Management API. The main difference between human and machine users is the type of credentials that can be used for authentication: Human users typically logon via an login prompt, but Machine users require a non-interactive logon process. +Learn how to [use service users](/docs/guides/integrate/service-users/authenticate-service-users) with ZITADEL. + ### Managers Any user, human or service user, can be given a [Manager](/concepts/structure/managers) role. Given a manager role, a user is not only an end-user of ZITADEL but can also manage certain aspects of ZITADEL itself. -## Constraints +### Federated users + +Federated users are identities that are managed by a third-party identity provider. +Users can login via an external identity provider, using [identity brokering](../features/identity-brokering) ("Single-sign-on"). +Federated user [accounts are linked](../features/account-linking) to internal users to be able to assign roles and keep an audit trail. + +### External users + +In a multi-tenancy architecture, you might use [organizations](organizations) to separate user groups. +By using [external user grants](../features/external-user-grant) an organization is able to invite users from another organization. +These invited users are called external users. + +## Considerations + +### Uniqueness of users Users can only exist within one [organization](/concepts/structure/organizations). It is currently not possible to move users between organizations. @@ -34,20 +53,30 @@ It is currently not possible to move users between organizations. User accounts are uniquely identified by their `id` or `loginname` in combination of the `organization domain` (eg, `road.runner@acme.zitadel.local`). You can use the same email address for different user accounts. -## Where to store users +### How to structure user pools -Depending on your [scenario](/guides/solution-scenarios/introduction), you might want to store all users in one organization (CIAM / B2C) or create a new organization for each logical group of users, e.g. each business customer (B2B). -With a project grant, you can delegate the access management of an organization's project to another organization. -You can also create a user grant to allow single users to access projects from another organization. -This is also an alternative to cases where you might want to move users between organizations. +Consider this general recommendation as a starting point: -## Identity linking +- Create one organization ("default organization") for your own company +- Configure projects and applications in the default organization +- Structure users in organizations based on common domains that are self-managed (eg, company) +- Grant your projects to the organizations, allow Managers to give granted roles to their users -When using external identity providers (ie. social login, enterprise SSO), a user account will be created in ZITADEL. -The external identity will be linked to the ZITADEL account. +You might want to adjust this general setup based on your [scenario](/guides/solution-scenarios/introduction). -You can link multiple external accounts to a ZITADEl account. -If login with "Username / Password" (ie. local account) is enabled and you have configured external IDPs, the user can decide if she wants to login with an external IDP or the local account. -When only one external identity provider is configured and login with "Username / Password" is disabled, then the user is immediately redirected to the external identity provider. +One important consideration in the setup is that you can only have a domain once for an organization. If you have multiple teams working with the same email address, you might need to add them to one single organization that has the domain verified for the teams' domain. -More about how to manage your users read our [users guide](../../guides/manage/console/users). \ No newline at end of file +For a CIAM / B2C setup, you might want to store all users in one organization and allow that organization to use a specific set of social logins. +In a multitenancy / B2B scenario, you might have thousands of smaller teams. + +#### Hierarchy + +There is no concept of hierarchies and inheritance based on users or organizations. +This is why we recommend to structure users along the smallest unit of groups. +You can use organization metadata or your own business logic to describe a hierarchy of organizations or user groups. + +## References + +- [Manage users in the Console](../../guides/manage/console/users) +- [ZITADEL APIs: Users](/docs/category/apis/resources/mgmt/users) +- [User onboarding and registration](/docs/guides/integrate/onboarding) diff --git a/docs/docs/guides/manage/console/_application-types.mdx b/docs/docs/guides/manage/console/_application-types.mdx new file mode 100644 index 0000000000..53bbff2753 --- /dev/null +++ b/docs/docs/guides/manage/console/_application-types.mdx @@ -0,0 +1,5 @@ +- [**Web**](#web) (Server-side web applications such as java, .net, ...) +- [**Native**](#native) (native, mobile or desktop applications) +- [**User Agent**](#user-agent) (single page applications / SPA, generally JavaScript executed in the browser) +- [**API**](#api) (OAuth Resource Server) +- [**SAML**](#saml) \ No newline at end of file diff --git a/docs/docs/guides/manage/console/applications.mdx b/docs/docs/guides/manage/console/applications.mdx index ace8d32e20..3d143c3299 100644 --- a/docs/docs/guides/manage/console/applications.mdx +++ b/docs/docs/guides/manage/console/applications.mdx @@ -7,6 +7,7 @@ import ThemedImage from "@theme/ThemedImage"; import AuthType from "../../integrate/application/_auth-type.mdx"; import ReviewConfig from "../../integrate/application/_review-config.mdx"; +import AppType from "./_application-types.mdx"; ## What is an application? @@ -36,13 +37,9 @@ To add an application to your project, click on the add button and select your a ## Application Types -At the moment ZITADEL offers four client types: +At the moment ZITADEL offers five client types: -- [**Web**](#web) (Server-side web applications such as java, .net, ...) -- [**Native**](#native) (native, mobile or desktop applications) -- [**User Agent**](#user-agent) (single page applications / SPA, generally JavaScript executed in the browser) -- [**API**](#api) (OAuth Resource Server) -- [**SAML**](#saml) + The first three options (Web, Native and User Agent) require user interaction, the fourth option (API) has no direct user-interaction. Depending on the app type, there are small differences in the possible settings. diff --git a/docs/sidebars.js b/docs/sidebars.js index 48eda263da..d0a0ab9cf0 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -474,17 +474,29 @@ module.exports = { "This part of our documentation contains ZITADEL specific or general concepts required to understand the system or our guides.", }, items: [ - "concepts/structure/instance", - "concepts/structure/organizations", - "concepts/structure/projects", - "concepts/structure/applications", - "concepts/structure/granted_projects", - "concepts/structure/users", - "concepts/structure/managers", - "concepts/structure/policies", { - type: "autogenerated", - dirName: "concepts/features", + type: "category", + label: "Resources", + collapsed: false, + items: [ + { + type: "autogenerated", + dirName: "concepts/structure", + } + ] + + }, + { + type: "category", + label: "Features", + collapsed: false, + items: [ + { + type: "autogenerated", + dirName: "concepts/features", + } + ] + }, { type: "autogenerated", From 15d5338b9135f8bd277b1189e7849a9c8842cbf7 Mon Sep 17 00:00:00 2001 From: Miguel Cabrerizo <30386061+doncicuto@users.noreply.github.com> Date: Mon, 13 May 2024 16:01:50 +0200 Subject: [PATCH 04/35] feat(cnsl): docs link can be customized and custom button is available (#7840) * feat: customize doc link and additional custom link * feat: add e2e tests * fix: update docs * fix: add @peintnermax changes about cache * fix: golangci-lint complains preparation.PrepareCommands --------- Co-authored-by: Max Peintner --- cmd/defaults.yaml | 15 +- .../app/modules/footer/footer.component.html | 6 +- .../app/modules/footer/footer.component.ts | 11 +- .../app/modules/header/header.component.html | 6 +- .../app/modules/header/header.component.scss | 3 +- .../app/modules/header/header.component.ts | 27 ++- .../privacy-policy.component.html | 20 +- .../privacy-policy.component.ts | 31 +++ .../app/modules/settings-grid/settinglinks.ts | 2 +- .../src/app/modules/settings-list/settings.ts | 2 +- console/src/app/services/grpc-auth.service.ts | 50 ++++- console/src/assets/i18n/bg.json | 5 +- console/src/assets/i18n/cs.json | 5 +- console/src/assets/i18n/de.json | 5 +- console/src/assets/i18n/en.json | 7 +- console/src/assets/i18n/es.json | 5 +- console/src/assets/i18n/fr.json | 5 +- console/src/assets/i18n/it.json | 5 +- console/src/assets/i18n/ja.json | 6 +- console/src/assets/i18n/mk.json | 5 +- console/src/assets/i18n/nl.json | 5 +- console/src/assets/i18n/pl.json | 5 +- console/src/assets/i18n/pt.json | 5 +- console/src/assets/i18n/ru.json | 5 +- console/src/assets/i18n/zh.json | 5 +- .../manage/console/default-settings.mdx | 18 +- .../guides/manage/console/organizations.mdx | 2 +- .../img/guides/console/external_links_1.png | Bin 0 -> 52578 bytes .../img/guides/console/external_links_2.png | Bin 0 -> 6527 bytes .../img/guides/console/privacypolicy.png | Bin 28895 -> 0 bytes .../settings/external-links-settings.cy.ts | 104 ++++++++++ .../support/api/external-links-settings.ts | 32 +++ internal/api/grpc/admin/export.go | 11 +- .../grpc/admin/privacy_policy_converter.go | 11 +- .../management/policy_privacy_converter.go | 22 +- internal/api/grpc/policy/privacy_policy.go | 3 + .../grpc/settings/v2/settings_converter.go | 3 + .../settings/v2/settings_converter_test.go | 16 +- .../eventsourcing/eventstore/auth_request.go | 15 +- internal/command/instance.go | 13 +- internal/command/instance_converter.go | 13 +- internal/command/instance_policy_privacy.go | 33 ++- .../command/instance_policy_privacy_model.go | 10 + .../command/instance_policy_privacy_test.go | 132 ++++++++---- internal/command/org_converter.go | 13 +- internal/command/org_policy_privacy.go | 7 +- internal/command/org_policy_privacy_model.go | 10 + internal/command/org_policy_privacy_test.go | 196 ++++++++++++------ internal/command/policy_privacy_model.go | 25 ++- internal/domain/policy_privacy.go | 11 +- internal/query/privacy_policy.go | 42 +++- internal/query/privacy_policy_test.go | 58 ++++-- internal/query/projection/privacy_policy.go | 46 ++-- .../query/projection/privacy_policy_test.go | 38 +++- .../repository/instance/policy_privacy.go | 6 +- internal/repository/org/policy_privacy.go | 6 +- internal/repository/policy/policy_privacy.go | 54 +++-- proto/zitadel/admin.proto | 17 ++ proto/zitadel/management.proto | 36 ++++ proto/zitadel/policy.proto | 19 ++ .../settings/v2beta/legal_settings.proto | 18 ++ 61 files changed, 1000 insertions(+), 286 deletions(-) create mode 100644 docs/static/img/guides/console/external_links_1.png create mode 100644 docs/static/img/guides/console/external_links_2.png delete mode 100644 docs/static/img/guides/console/privacypolicy.png create mode 100644 e2e/cypress/e2e/settings/external-links-settings.cy.ts create mode 100644 e2e/cypress/support/api/external-links-settings.ts diff --git a/cmd/defaults.yaml b/cmd/defaults.yaml index b8d7952be3..ae6b815037 100644 --- a/cmd/defaults.yaml +++ b/cmd/defaults.yaml @@ -14,16 +14,16 @@ Tracing: # for type 'otel' is used for standard [open telemetry](https://opentelemetry.io) # Fraction: 1.0 # Endpoint: 'otel.collector.endpoint' - # + # # type 'log' or '' disables tracing - # + # # for type 'google' # ProjectID: '' # Fraction: 1.0 Type: none # ZITADEL_TRACING_TYPE Fraction: 1.0 # ZITADEL_TRACING_FRACTION # The endpoint of the otel collector endpoint - Endpoint: '' #ZITADEL_TRACING_ENDPOINT + Endpoint: "" #ZITADEL_TRACING_ENDPOINT Telemetry: # As long as Enabled is true, ZITADEL tries to send usage data to the configured Telemetry.Endpoints. @@ -200,7 +200,7 @@ AssetStorage: # The Projections section defines the behavior for the scheduled and synchronous events projections. Projections: - # The maximum duration a transaction remains open + # The maximum duration a transaction remains open # before it spots left folding additional events # and updates the table. TransactionDuration: 500ms # ZITADEL_PROJECTIONS_TRANSACTIONDURATION @@ -264,7 +264,7 @@ Auth: # See Projections.BulkLimit SearchLimit: 1000 # ZITADEL_AUTH_SEARCHLIMIT Spooler: - # See Projections.TransationDuration + # See Projections.TransationDuration TransactionDuration: 10s #ZITADEL_AUTH_SPOOLER_TRANSACTIONDURATION # See Projections.BulkLimit BulkLimit: 100 #ZITADEL_AUTH_SPOOLER_BULKLIMIT @@ -704,6 +704,9 @@ DefaultInstance: PrivacyLink: https://zitadel.com/docs/legal/privacy-policy # ZITADEL_DEFAULTINSTANCE_PRIVACYPOLICY_PRIVACYLINK HelpLink: "" # ZITADEL_DEFAULTINSTANCE_PRIVACYPOLICY_HELPLINK SupportEmail: "" # ZITADEL_DEFAULTINSTANCE_PRIVACYPOLICY_SUPPORTEMAIL + DocsLink: https://zitadel.com/docs # ZITADEL_DEFAULTINSTANCE_PRIVACYPOLICY_DOCSLINK + CustomLink: "" # ZITADEL_DEFAULTINSTANCE_PRIVACYPOLICY_CUSTOMLINK + CustomLinkText: "" # ZITADEL_DEFAULTINSTANCE_PRIVACYPOLICY_CUSTOMLINKTEXT NotificationPolicy: PasswordChange: true # ZITADEL_DEFAULTINSTANCE_NOTIFICATIONPOLICY_PASSWORDCHANGE LabelPolicy: @@ -1432,4 +1435,4 @@ InitProjections: Enabled: true # ZITADEL_INITPROJECTIONS_ENABLED RetryFailedAfter: 100ms # ZITADEL_INITPROJECTIONS_RETRYFAILEDAFTER MaxFailureCount: 2 # ZITADEL_INITPROJECTIONS_MAXFAILURECOUNT - BulkLimit: 1000 # ZITADEL_INITPROJECTIONS_BULKLIMIT \ No newline at end of file + BulkLimit: 1000 # ZITADEL_INITPROJECTIONS_BULKLIMIT diff --git a/console/src/app/modules/footer/footer.component.html b/console/src/app/modules/footer/footer.component.html index fdf2924441..26d863d129 100644 --- a/console/src/app/modules/footer/footer.component.html +++ b/console/src/app/modules/footer/footer.component.html @@ -1,11 +1,11 @@