Skip to content

Commit 4fc695c

Browse files
committed
Deployed 9a30355 to cells-v4 with MkDocs 1.6.1 and mike 2.1.3
1 parent 4cc873f commit 4fc695c

File tree

4 files changed

+72
-66
lines changed

4 files changed

+72
-66
lines changed

cells-v4/index.html

Lines changed: 0 additions & 14 deletions
This file was deleted.

cells-v4/knowledge-base/identity-management/oidc_keycloak/index.html

Lines changed: 66 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -23891,11 +23891,13 @@
2389123891
<h1 id="introduction">Introduction<a class="headerlink" href="#introduction" title="Permanent link">&para;</a></h1>
2389223892
<p><strong>Keycloak</strong> is a robust, open-source Identity and Access Management (IAM) tool that implements popular SSO standards like <strong>SAML</strong> and <strong>OpenID Connect (OIDC)</strong>.<br />
2389323893
It’s widely trusted for secure authentication in on-premise deployments, enabling organizations to centralize user identity and integrate easily with various services.</p>
23894-
<p>This step-by-step guide will help you:
23895-
- Register a new OIDC client in Keycloak.
23896-
- Set up an OIDC Connector in <strong>Pydio Cells</strong>.
23897-
- Map user attributes from Keycloak (using LDAP directory) to user roles in Pydio Cells.
23898-
- Understand how to fix session-related issues and debug your configuration.</p>
23894+
<p>This step-by-step guide will help you:</p>
23895+
<ul>
23896+
<li>Register a new OIDC client in Keycloak.</li>
23897+
<li>Set up an OIDC Connector in <strong>Pydio Cells</strong>.</li>
23898+
<li>Map user attributes from Keycloak (using LDAP directory) to user roles in Pydio Cells.</li>
23899+
<li>Understand how to fix session-related issues and debug your configuration.</li>
23900+
</ul>
2389923901
<h2 id="s1-register-a-new-oidc-client-in-keycloak">S1. Register a New OIDC Client in Keycloak<a class="headerlink" href="#s1-register-a-new-oidc-client-in-keycloak" title="Permanent link">&para;</a></h2>
2390023902
<p>To enable SSO, first register a new client that represents Pydio Cells in your Keycloak instance.</p>
2390123903
<blockquote>
@@ -23906,21 +23908,27 @@ <h2 id="s1-register-a-new-oidc-client-in-keycloak">S1. Register a New OIDC Clien
2390623908
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-1">1</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1"></a>Clients → Create Client
2390723909
</code></pre></div></td></tr></table></div></p>
2390823910
<p><a class="glightbox" href="../../images/connectors/keycloak/create-new-client.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="" src="../../images/connectors/keycloak/create-new-client.png" /></a></p>
23909-
<p><strong>Example values:</strong>
23910-
- <strong>Client ID:</strong> <code>demo.cells.pydio</code>
23911-
- <strong>Name:</strong> <code>Cells Demo</code></p>
23911+
<p><strong>Example values:</strong></p>
23912+
<ul>
23913+
<li><strong>Client ID:</strong> <code>demo.cells.pydio</code></li>
23914+
<li><strong>Name:</strong> <code>Cells Demo</code></li>
23915+
</ul>
2391223916
<p><a class="glightbox" href="../../images/connectors/keycloak/keycloak-new-client-0.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="" src="../../images/connectors/keycloak/keycloak-new-client-0.png" /></a></p>
23913-
<p><strong>Configure redirect and URLs:</strong>
23914-
- <strong>Root URL:</strong> Pydio Cells URL
23915-
- <strong>Home URL:</strong> Same as above
23916-
- <strong>Valid Redirect URIs:</strong> Callback URL generated by the Connector in Step 2
23917-
- <strong>Valid Post Logout Redirect URIs:</strong> Leave empty
23918-
- <strong>Web Origins:</strong> Pydio Cells URL</p>
23917+
<p><strong>Configure redirect and URLs:</strong></p>
23918+
<ul>
23919+
<li><strong>Root URL:</strong> Pydio Cells URL</li>
23920+
<li><strong>Home URL:</strong> Same as above</li>
23921+
<li><strong>Valid Redirect URIs:</strong> Callback URL generated by the Connector in Step 2</li>
23922+
<li><strong>Valid Post Logout Redirect URIs:</strong> Leave empty</li>
23923+
<li><strong>Web Origins:</strong> Pydio Cells URL</li>
23924+
</ul>
2391923925
<p><a class="glightbox" href="../../images/connectors/keycloak/keycloak-create-client-3.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="" src="../../images/connectors/keycloak/keycloak-create-client-3.png" /></a></p>
23920-
<p><strong>New Client Capability:</strong>
23921-
- <strong>Cells Authentication:</strong> Yes
23922-
- <strong>Authorization:</strong> Off
23923-
- <strong>Authentication Flow:</strong> Standard</p>
23926+
<p><strong>New Client Capability:</strong></p>
23927+
<ul>
23928+
<li><strong>Cells Authentication:</strong> Yes</li>
23929+
<li><strong>Authorization:</strong> Off</li>
23930+
<li><strong>Authentication Flow:</strong> Standard</li>
23931+
</ul>
2392423932
<p><a class="glightbox" href="../../images/connectors/keycloak/keycloak-new-client-2.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="" src="../../images/connectors/keycloak/keycloak-new-client-2.png" /></a></p>
2392523933
<h3 id="client-credentials">Client Credentials<a class="headerlink" href="#client-credentials" title="Permanent link">&para;</a></h3>
2392623934
<p>Enabling <code>Cells Authentication</code> generates a <strong>Client Secret</strong>. Pydio Cells uses this secret to securely authenticate with Keycloak’s OIDC endpoints.</p>
@@ -23930,30 +23938,38 @@ <h2 id="s2-create-a-new-connector-in-pydio-cells">S2. Create a New Connector in
2393023938
<p><strong>Cells Admin Console:</strong><br />
2393123939
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-1-1">1</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1"></a>Settings → Authentication → OAUTH2/OIDC → Create New Connector
2393223940
</code></pre></div></td></tr></table></div></p>
23933-
<p>In the pop-up:
23934-
- <strong>Connector type:</strong> OpenID Connect
23935-
- <strong>ID:</strong> <code>keycloak</code> (won't be changed)
23936-
- <strong>Name:</strong> Example: <code>SSO with Keycloak</code> (can be customized later)</p>
23941+
<p>In the pop-up:</p>
23942+
<ul>
23943+
<li><strong>Connector type:</strong> OpenID Connect</li>
23944+
<li><strong>ID:</strong> <code>keycloak</code> (won't be changed)</li>
23945+
<li><strong>Name:</strong> Example: <code>SSO with Keycloak</code> (can be customized later)</li>
23946+
</ul>
2393723947
<p>The <strong>Issuer (Canonical URL)</strong> updates automatically based on the ID. This URL acts as the callback where Keycloak sends tokens after authentication.</p>
2393823948
<p><a class="glightbox" href="../../images/connectors/keycloak/cells-new-connector-2.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="" src="../../images/connectors/keycloak/cells-new-connector-2.png" /></a></p>
2393923949
<p>Pause here, return to <strong>Step 1</strong>, and add the generated callback URL to the client’s valid redirect URIs in Keycloak.</p>
2394023950
<h3 id="complete-the-connector-configuration">Complete the Connector Configuration<a class="headerlink" href="#complete-the-connector-configuration" title="Permanent link">&para;</a></h3>
2394123951
<p>Once you have your <strong>Client ID</strong> and <strong>Client Secret</strong>, continue filling out:</p>
2394223952
<ul>
2394323953
<li>
23944-
<p><strong>Issuer - Canonical URL:</strong><br />
23945-
Format: <code>https://domain/realms/realm-name</code><br />
23946-
Example: <code>https://sso.keycloak.pydio/realms/master</code></p>
23954+
<p><strong>Issuer - Canonical URL:</strong> </p>
23955+
</li>
23956+
<li>
23957+
<p>Format: <code>https://domain/realms/realm-name</code> </p>
23958+
</li>
23959+
<li>
23960+
<p>Example: <code>https://sso.keycloak.pydio/realms/master</code></p>
2394723961
</li>
2394823962
<li>
2394923963
<p><strong>Client ID:</strong> The client ID from Step 1 (<code>demo.cells.pydio</code>)</p>
2395023964
</li>
2395123965
<li><strong>Client Secret:</strong> Copied from Keycloak.</li>
2395223966
</ul>
2395323967
<p><a class="glightbox" href="../../images/connectors/keycloak/cells-new-connector-3.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="" src="../../images/connectors/keycloak/cells-new-connector-3.png" /></a></p>
23954-
<p><strong>Additional options:</strong>
23955-
- <strong>Insecure Skip Email Verified:</strong> Set <code>On</code> if using a trusted directory.
23956-
- <strong>Get User Info:</strong> On</p>
23968+
<p><strong>Additional options:</strong></p>
23969+
<ul>
23970+
<li><strong>Insecure Skip Email Verified:</strong> Set <code>On</code> if using a trusted directory.</li>
23971+
<li><strong>Get User Info:</strong> On</li>
23972+
</ul>
2395723973
<p><a class="glightbox" href="../../images/connectors/keycloak/cells-new-connector-4.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="" src="../../images/connectors/keycloak/cells-new-connector-4.png" /></a></p>
2395823974
<p>Once saved, your Pydio Cells login page will display an additional <strong>“SSO with Keycloak”</strong> option.</p>
2395923975
<h1 id="advanced-setup">Advanced Setup<a class="headerlink" href="#advanced-setup" title="Permanent link">&para;</a></h1>
@@ -23965,13 +23981,15 @@ <h3 id="1-map-ldap-user-to-usermodel-in-keycloak">1. Map LDAP User to UserModel
2396523981
<p><strong>Keycloak Admin Console:</strong><br />
2396623982
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-2-1">1</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1"></a>User Federation → Select LDAP Provider → Mappers → Create Mapper
2396723983
</code></pre></div></td></tr></table></div></p>
23968-
<p>Example mapper:
23969-
- <strong>Name:</strong> <code>memberOf to group</code>
23970-
- <strong>Mapper type:</strong> <code>user-attribute-ldap-mapper</code>
23971-
- <strong>User Model Attribute:</strong> <code>cellsgroups</code>
23972-
- <strong>LDAP Attribute:</strong> <code>memberOf</code>
23973-
- <strong>Read Only:</strong> On
23974-
- <strong>Always Read Value From LDAP:</strong> On</p>
23984+
<p>Example mapper:</p>
23985+
<ul>
23986+
<li><strong>Name:</strong> <code>memberOf to group</code></li>
23987+
<li><strong>Mapper type:</strong> <code>user-attribute-ldap-mapper</code></li>
23988+
<li><strong>User Model Attribute:</strong> <code>cellsgroups</code></li>
23989+
<li><strong>LDAP Attribute:</strong> <code>memberOf</code></li>
23990+
<li><strong>Read Only:</strong> On</li>
23991+
<li><strong>Always Read Value From LDAP:</strong> On</li>
23992+
</ul>
2397523993
<p><a class="glightbox" href="../../images/connectors/keycloak/keycloak-ldap-memberof-mapping.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="" src="../../images/connectors/keycloak/keycloak-ldap-memberof-mapping.png" /></a></p>
2397623994
<h3 id="2-create-a-client-scope-and-mapper">2. Create a Client Scope and Mapper<a class="headerlink" href="#2-create-a-client-scope-and-mapper" title="Permanent link">&para;</a></h3>
2397723995
<p><strong>Keycloak Admin Console:</strong><br />
@@ -23982,17 +24000,19 @@ <h3 id="2-create-a-client-scope-and-mapper">2. Create a Client Scope and Mapper<
2398224000
<li><strong>Description:</strong> Defines <code>cellsgroups</code> claim</li>
2398324001
</ul>
2398424002
<p><a class="glightbox" href="../../images/connectors/keycloak/keycloak-client-scope-settings.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="" src="../../images/connectors/keycloak/keycloak-client-scope-settings.png" /></a></p>
23985-
<p>Add a new mapper in the scope:
23986-
- <strong>Mapper Type:</strong> User Attribute
23987-
- <strong>Name:</strong> User Group Mapper
23988-
- <strong>User Attribute:</strong> <code>cellsgroups</code>
23989-
- <strong>Token Claim Name:</strong> <code>cellsgroups</code>
23990-
- <strong>Claim JSON Type:</strong> string
23991-
- <strong>Add to ID Token:</strong> On
23992-
- <strong>Add to Access Token:</strong> On
23993-
- <strong>Add to Userinfo:</strong> On
23994-
- <strong>MultiValued:</strong> On
23995-
- <strong>Aggregate attribute values:</strong> On</p>
24003+
<p>Add a new mapper in the scope:</p>
24004+
<ul>
24005+
<li><strong>Mapper Type:</strong> User Attribute</li>
24006+
<li><strong>Name:</strong> User Group Mapper</li>
24007+
<li><strong>User Attribute:</strong> <code>cellsgroups</code></li>
24008+
<li><strong>Token Claim Name:</strong> <code>cellsgroups</code></li>
24009+
<li><strong>Claim JSON Type:</strong> string</li>
24010+
<li><strong>Add to ID Token:</strong> On</li>
24011+
<li><strong>Add to Access Token:</strong> On</li>
24012+
<li><strong>Add to Userinfo:</strong> On</li>
24013+
<li><strong>MultiValued:</strong> On</li>
24014+
<li><strong>Aggregate attribute values:</strong> On</li>
24015+
</ul>
2399624016
<p><a class="glightbox" href="../../images/connectors/keycloak/keycloak-mapping-usermodel-attribute-to-claim.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="" src="../../images/connectors/keycloak/keycloak-mapping-usermodel-attribute-to-claim.png" /></a></p>
2399724017
<blockquote>
2399824018
<p><strong>Note:</strong> The <em>UserModel</em> is the user object in Keycloak.</p>

cells-v4/search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

versions.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
[
2+
{
3+
"version": "pydio-v8",
4+
"title": "Pydio PHP (EOL)",
5+
"aliases": []
6+
},
27
{
38
"version": "cells-v4",
49
"title": "Cells v4",
510
"aliases": [
611
"latest"
712
]
8-
},
9-
{
10-
"version": "pydio-v8",
11-
"title": "Pydio PHP (EOL)",
12-
"aliases": []
1313
}
1414
]

0 commit comments

Comments
 (0)