<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>simpleSAMLphp &#8211; privacyID3A</title>
	<atom:link href="https://www.privacyidea.org/category/simplesamlphp/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.privacyidea.org</link>
	<description>flexible, Open Source Multi Factor Authentication (2FA)</description>
	<lastBuildDate>Thu, 14 Mar 2019 14:52:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.privacyidea.org/wp-content/uploads/2016/06/cropped-only-logo-white-background-32x32.png</url>
	<title>simpleSAMLphp &#8211; privacyID3A</title>
	<link>https://www.privacyidea.org</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to use Nextcloud with privacyIDEA</title>
		<link>https://www.privacyidea.org/how-to-use-nextcloud-with-privacyidea/</link>
		
		<dc:creator><![CDATA[Micha Preußer]]></dc:creator>
		<pubDate>Thu, 14 Mar 2019 14:52:48 +0000</pubDate>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[simpleSAMLphp]]></category>
		<category><![CDATA[Nextcloud]]></category>
		<category><![CDATA[simplesamlphp]]></category>
		<category><![CDATA[SSO]]></category>
		<guid isPermaLink="false">https://www.privacyidea.org/?p=1515</guid>

					<description><![CDATA[Nextcloud changed in version 14 the authentication function, which makes it impossible for us to be as flexible as we want to be. We tried to use Nextcloud with simpleSAMLphp and privacyIDEA to get the flexibility, we love. Here you can see, how it is working.This how-to shows only the basics. To get further information [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Nextcloud changed in version 14 the authentication function, which makes it impossible for us to be as flexible as we want to be. We tried to use Nextcloud with simpleSAMLphp and privacyIDEA to get the flexibility, we love. </p>



<p>Here you can see, how it is working.<br>This how-to shows only the basics. To get further information follow the links below.</p>



<h2 class="wp-block-heading"><a id="Installing_privacyIDEA_6"></a>Installing privacyIDEA</h2>



<p>You should install privacyIDEA on a different server, than sipmleSAMLphp and Nextcloud.<br>In this case, we use the Apache2 setup on a fresh installed Ubuntu 16.04.<br>During the installation, you will be asked for a mysql root password.</p>



<ul class="wp-block-list"><li>Adding the repository <code>apt-add-repository ppa:privacyidea/privacyidea</code></li><li>Update with <code>apt update</code></li><li>Installing privacyIDEA for apache2 <code>apt install privacyidea-apache2</code></li><li>Create administrator account with <code>pi-manage admin add &lt;username&gt;</code></li></ul>



<p>Congratulations you installed privacyIDEA successfully.</p>



<p>Now privacyIDEA needs to know, where your users are stored. Please check our <a href="https://privacyidea.readthedocs.io/en/latest/configuration/useridresolvers.html">documentation</a> for more information about this.</p>



<h2 class="wp-block-heading"><a id="Installing_simpleSAMLphp_as_an_identity_provider_21"></a>Installing simpleSAMLphp as an identity provider</h2>



<p>Please follow the <a href="https://simplesamlphp.org/docs/stable/simplesamlphp-idp">instructions from simpleSAMLphp</a></p>



<h3 class="wp-block-heading"><a id="Installing_the_privacyIDEA_module_for_simpleSAMLphp_25"></a>Installing the privacyIDEA module for simpleSAMLphp</h3>



<p>First of all you need to install the module privacyIDEA. You can get the current version on <a href="https://github.com/privacyidea/simplesamlphp-module-privacyidea">GitHub</a>.</p>



<p>Put the files in the directory <code>modules/privacyidea</code>.</p>



<p>The privacyIDEA module can be used in two different ways:<br><strong>Method 1:</strong> The user’s first and second factor will be authenticated against privacyIDEA<br><strong>Method 2:</strong> Only the second factor will be authenticated against privacyIDEA</p>



<p>In this how-to, we only show the simplest way to configure. Especially the <strong>method 2</strong> can be configured way more.</p>



<h4 class="wp-block-heading"><a id="Method_1_37"></a>Method 1</h4>



<p>We will install privacyIDEA as an authentication source.<br>To do that, we have to append the configuration to <code>config/authsources.php</code></p>



<p>This is the basic configuration</p>



<pre class="wp-block-code"><code>'example-privacyidea' => array(
    'privacyidea:privacyidea',
    'privacyideaserver' => 'https://your.server.com/pi',
),
</code></pre>



<p>If you want to edit more details, please check the <a href="https://github.com/privacyidea/simplesamlphp-module-privacyidea/blob/master/docs/privacyidea.md">documentation on GitHub</a>.</p>



<p>After editing the configuration, please enable the authentication source in the metadata <code>metadate/saml20-idp-hosted.php</code><br>Add <code>'auth' => 'example-privacyidea'</code></p>



<h4 class="wp-block-heading"><a id="Method_2_56"></a>Method 2</h4>



<p>If you want to use the second method, you have to use another authentication source (e.g. LDAP)<br>After that, activate privacyIDEA as an authentication processing filter.<br>Append in the array in your metadata <code>metadata/saml20-idp-hosted.php</code> the following lines.</p>



<p>This is the basic configuration</p>



<pre class="wp-block-code"><code>'authproc.idp' => array(
    20 => array(
        'class'             => 'privacyidea:serverconfig',
        'privacyideaserver' => 'https://your.server.com/pi',
    )
    25 => array(
        'class'             => 'privacyidea:privacyidea',
    ),
),
</code></pre>



<p>If you want to configure the authentication processing filter in more details, please check the <a href="https://github.com/privacyidea/simplesamlphp-module-privacyidea/blob/master/docs/privacyidea.md">documentation on GitHub</a>.</p>



<h2 class="wp-block-heading"><a id="Installing_Nextcloud_77"></a>Installing Nextcloud</h2>



<p>Please follow the <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html">instructions from Nextcloud</a></p>



<h3 class="wp-block-heading"><a id="Install_and_configure_the_app_SSO__SAML_authentication_81"></a>Install and configure the app ‘SSO &amp; SAML authentication’</h3>



<p>This app can be installed via the marketplace.</p>



<p>After installing the app, it has to be configured like it is done in the following.</p>



<p><strong>Attribute to map the UID to.</strong><br>
This depends on the authentication source.<br>
If you use method 1 (privacyIDEA as an authentication source) and you did not change the attribute map, enter <code>username</code></p>



<p><strong>Identifier of the IdP entity (must be a URI)</strong><br>
<code>https://your.server.com/simplesamlphp/saml2/idp/metadata.php</code></p>



<p><strong>URL Target of the IdP where the SP will send the Authentication Request Message</strong><br>
<code>https://your.server.com/simplesamlphp/saml2/idp/SSOService.php</code></p>



<p><strong>URL Location of the IdP where the SP will send the SLO Request</strong><br>
<code>https://your.server.com/simplesamlphp/saml2/idp/SingleLogoutService.php</code></p>



<p><strong>Public X.509 certificate of the IdP</strong><br>
You can get it from <a href="https://your.server.com/simplesamlphp/module.php/saml/idp/certs.php/idp.crt">https://your.server.com/simplesamlphp/module.php/saml/idp/certs.php/idp.crt</a></p>



<p>If you want to, you can add additional attribute mappings or security settings, but for this how-to it should be enough.</p>



<p>When everything is configured, you can click on ‘Download metadata XML’. To add this is your saml20-sp-remote.php, you need to parse it. Use <a href="https://your.server.com/simplesamlphp/admin/metadata-converter.php">https://your.server.com/simplesamlphp/admin/metadata-converter.php</a> to do so.</p>



<p>You can copy the result in your <code>metadata/saml20-sp-remote.php</code>.</p>



<h2 class="wp-block-heading">That&#8217;s it</h2>



<p>privacyIDEA, simpleSAMLphp and Nextcloud are now configured in the correct way.<br>You and your users will be able to authenticate now!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>privacyIDEA as authproc filter in simpleSAMLphp</title>
		<link>https://www.privacyidea.org/privacyidea-as-authproc-filter-in-simplesamlphp/</link>
		
		<dc:creator><![CDATA[Micha Preußer]]></dc:creator>
		<pubDate>Wed, 02 Jan 2019 12:58:48 +0000</pubDate>
				<category><![CDATA[documentation]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[simpleSAMLphp]]></category>
		<guid isPermaLink="false">https://www.privacyidea.org/?p=1461</guid>

					<description><![CDATA[What is an authproc filter and why should I use it? An authentication processing filter is one step of the login process in simpleSAMLphp. For example it can be useful, if you want to authenticate the first factor against LDAP and the second one against privacyIDEA. If you enable privacyIDEA as an authsource, both factors [&#8230;]]]></description>
										<content:encoded><![CDATA[<h3>What is an authproc filter and why should I use it?</h3>
<p>An authentication processing filter is one step of the login process in simpleSAMLphp.<br />
For example it can be useful, if you want to authenticate the first factor against LDAP and the second one against privacyIDEA.<br />
If you enable privacyIDEA as an authsource, both factors will be authenticated against privacyIDEA.</p>
<p>With privacyIDEA as an authproc filter, you are much more flexible. You can expand and individualize the authentication process in many different ways. In this how-to we want to explain some of the features and show how to configure it in the best way.</p>
<p><a href="https://www.privacyidea.org/wp-content/uploads/2019/01/simpleSAMLphp-2FA-otp.png"><img decoding="async" class="alignnone size-large wp-image-1465" src="https://www.privacyidea.org/wp-content/uploads/2019/01/simpleSAMLphp-2FA-otp-1024x578.png" alt="" width="1024" height="578" srcset="https://www.privacyidea.org/wp-content/uploads/2019/01/simpleSAMLphp-2FA-otp-1024x578.png 1024w, https://www.privacyidea.org/wp-content/uploads/2019/01/simpleSAMLphp-2FA-otp-300x169.png 300w, https://www.privacyidea.org/wp-content/uploads/2019/01/simpleSAMLphp-2FA-otp-768x433.png 768w, https://www.privacyidea.org/wp-content/uploads/2019/01/simpleSAMLphp-2FA-otp-528x297.png 528w, https://www.privacyidea.org/wp-content/uploads/2019/01/simpleSAMLphp-2FA-otp.png 1099w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<h3>How to setup privacyIDEA as an authproc filter</h3>
<p>Authproc filters are configured in config.php (to use them every time) or in the metadata (to use it only, if the user comes from a specific service provider for example). Every authproc filter is listed in an array with a number, which shows the priority. The lowest number begins the login process.</p>
<h4>privacyIDEA without special features (necessary)</h4>
<pre><code class="language-php">'authproc' =&gt; array(
  20 =&gt; array(
    'class'             =&gt; 'privacyidea:serverconfig',
    'privacyideaserver' =&gt; 'https://your.privacyidea.server',
    'realm'             =&gt; 'realm1',
    'uidKey'            =&gt; 'uid',
    'sslverifyhost'     =&gt; true,
    'sslverifypeer'     =&gt; true,
    'serviceAccount'  =&gt; 'service',
    'servicePass'     =&gt; 'service',
  ),
  25 =&gt; array(
    'class'             =&gt; 'privacyidea:privacyidea',
  ),
),
</code></pre>
<p>This configuration enables the authentication against privacyIDEA. The first factor will be authenticated against the authsource (e.g. LDAP) and the second one against privacyIDEA.</p>
<ul>
<li>class: this enables the authproc filter. (Do not change it)</li>
<li>privacyideaserver: here you can enter the url of your pricacyIDEA server</li>
<li>realm: enter the user&#8217;s realm name</li>
<li>uidKey: privacyIDEA has to know in which attribute the username is stored (it depends on your authsource)</li>
<li>sslverifyhost: Check if the hostname matches the name in the certificate (set to true or false)</li>
<li>sslverifypeer: Check if the certificate is valid, signed by a trusted CA (true or false)</li>
<li>serviceAccount: The service account&#8217;s username</li>
<li>servicePass: The service account&#8217;s password</li>
</ul>
<h4>Disable 2FA for users with specified ip addresses (optional)</h4>
<p>You can disable 2FA for users with a special ip address (e.g. your local area network).<br />
To do that, you have to enable and configure the authproc filter privacyidea:checkClientIP</p>
<pre><code class="language-php">21 =&gt; array (
  'class'             =&gt; 'privacyidea:checkClientIP',
  'excludeClientIPs'  =&gt; array("10.0.0.0-10.2.0.0", "192.168.178.10"),
),
</code></pre>
<p>This array has to be in the authproc array, which is mentioned above.</p>
<ul>
<li>class: this enables the authproc filter.</li>
<li>excludeClientIPs: You can enter a single ip address or a range. These clients will not be asked to do 2FA.</li>
</ul>
<h4>Enroll new token, if the user does not have one (optional)</h4>
<p>If a user does not have a second factor yet, it can be enrolled by simpleSAMLphp. To do that, a service account has to be configured and enabled. This can be done either above in privacyidea:privacyidea or here in privacyidea:tokenEnrollment)</p>
<pre><code class="language-php">24 =&gt; array(
  'class'           =&gt; 'privacyidea:tokenEnrollment',
  'tokenType'       =&gt; 'totp',
)
</code></pre>
<ul>
<li>class: this enables the authproc filter</li>
<li>tokenType: Here you can enter the token type. It can be hotp or totp</li>
</ul>
<p>You can overwrite the settings from privacyidea:serverconfig, if it is necessary. For example you can change the serviceAccount and servicePass. You only have to add it in this array.</p>
<p><a href="https://www.privacyidea.org/wp-content/uploads/2019/01/simpleSAMLphp-2FA-enroll.png"><img loading="lazy" decoding="async" class="alignnone wp-image-1463 size-large" src="https://www.privacyidea.org/wp-content/uploads/2019/01/simpleSAMLphp-2FA-enroll-1024x576.png" alt="" width="1024" height="576" srcset="https://www.privacyidea.org/wp-content/uploads/2019/01/simpleSAMLphp-2FA-enroll-1024x576.png 1024w, https://www.privacyidea.org/wp-content/uploads/2019/01/simpleSAMLphp-2FA-enroll-300x169.png 300w, https://www.privacyidea.org/wp-content/uploads/2019/01/simpleSAMLphp-2FA-enroll-768x432.png 768w, https://www.privacyidea.org/wp-content/uploads/2019/01/simpleSAMLphp-2FA-enroll-1110x624.png 1110w, https://www.privacyidea.org/wp-content/uploads/2019/01/simpleSAMLphp-2FA-enroll-528x297.png 528w, https://www.privacyidea.org/wp-content/uploads/2019/01/simpleSAMLphp-2FA-enroll.png 1430w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
