tag:github.com,2008:https://github.com/zendframework/zend-expressive-authentication/releasesRelease notes from zend-expressive-authentication2019-03-05T17:50:42Ztag:github.com,2008:Repository/110038187/1.1.02019-03-05T17:50:57Zzend-expressive-authentication 1.1.0<h2>Added</h2>
<ul>
<li>
<p><a href="https://github.com/zendframework/zend-expressive-authentication/pull/46" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/46/hovercard">#41</a> allows users to provide an application-specific PDO service name to use<br>
with the <code>PdoDatabase</code> user repository implementation, instead of connection<br>
parameters. This allows re-use of an existing PDO connection. To configure it:</p>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="return [
'authentication' => [
'pdo' => [
'service' => 'name-of-existing-PDO-service',
'table' => 'name-of-table-to-use',
'field' => [
'identity' => 'name-of-field-containing-identity',
'password' => 'name-of-field-containing-password-hash',
],
],
],
];"><pre><span class="pl-k">return</span> [
<span class="pl-s">'<span class="pl-s">authentication</span>'</span> => [
<span class="pl-s">'<span class="pl-s">pdo</span>'</span> => [
<span class="pl-s">'<span class="pl-s">service</span>'</span> => <span class="pl-s">'<span class="pl-s">name-of-existing-PDO-service</span>'</span>,
<span class="pl-s">'<span class="pl-s">table</span>'</span> => <span class="pl-s">'<span class="pl-s">name-of-table-to-use</span>'</span>,
<span class="pl-s">'<span class="pl-s">field</span>'</span> => [
<span class="pl-s">'<span class="pl-s">identity</span>'</span> => <span class="pl-s">'<span class="pl-s">name-of-field-containing-identity</span>'</span>,
<span class="pl-s">'<span class="pl-s">password</span>'</span> => <span class="pl-s">'<span class="pl-s">name-of-field-containing-password-hash</span>'</span>,
],
],
],
];</pre></div>
</li>
</ul>
<h2>Changed</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Deprecated</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Removed</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Fixed</h2>
<ul>
<li>Nothing.</li>
</ul>weierophinneytag:github.com,2008:Repository/110038187/1.0.22019-03-05T17:31:27Zzend-expressive-authentication 1.0.2<h2>Added</h2>
<ul>
<li><a href="https://github.com/zendframework/zend-expressive-authentication/pull/43" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/43/hovercard">#43</a> adds support for PHP 7.3.</li>
</ul>
<h2>Changed</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Deprecated</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Removed</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Fixed</h2>
<ul>
<li><a href="https://github.com/zendframework/zend-expressive-authentication/pull/45" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/45/hovercard">#40</a> corrects the name of a configuration parameter name referenced when<br>
raising an exception while invoking <code>Zend\Expressive\Authentication\UserRepositoryPdoDatabaseFactory</code>.</li>
</ul>weierophinneytag:github.com,2008:Repository/110038187/1.0.12018-09-28T08:28:16Zzend-expressive-authorization 1.0.1<h3>Added</h3>
<ul>
<li>Nothing.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Nothing.</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li>Nothing.</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Nothing.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li><a href="https://github.com/zendframework/zend-expressive-authentication/pull/37" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/37/hovercard">#37</a> handles null values when verifying password in <code>PdoDatabase</code></li>
</ul>ezimueltag:github.com,2008:Repository/110038187/1.0.02018-08-27T15:13:26Zzend-expressive-authentication 1.0.0<h3>Added</h3>
<ul>
<li>Nothing.</li>
</ul>
<h3>Changed</h3>
<ul>
<li><a href="https://github.com/zendframework/zend-expressive-authentication/pull/27" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/27/hovercard">#27</a> <code>Zend\Expressive\Authentication\UserInterface::getRoles()</code> returns an <a href="http://php.net/manual/en/language.types.iterable.php" rel="nofollow">iterable</a> instead of array.</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li>Nothing.</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Nothing.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Nothing.</li>
</ul>ezimueltag:github.com,2008:Repository/110038187/0.5.02018-05-23T16:59:33Zzend-expressive-authentication 0.5.0<h2>Added</h2>
<ul>
<li>
<p><a href="https://github.com/zendframework/zend-expressive-authentication/pull/28" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/28/hovercard">#28</a> adds the final class <code>DefaultUser</code>, which provides an immutable version of <code>UserInterface</code><br>
that can be used in most situations.</p>
</li>
<li>
<p><a href="https://github.com/zendframework/zend-expressive-authentication/pull/28" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/28/hovercard">#28</a> adds the service factory <code>DefaultUserFactory</code>, which returns a PHP <code>callable</code><br>
capable of producing a <code>DefaultUser</code> instance from the provided <code>$identity</code>,<br>
<code>$roles</code>, and <code>$details</code> arguments.</p>
</li>
</ul>
<h2>Changed</h2>
<ul>
<li>
<p><a href="https://github.com/zendframework/zend-expressive-authentication/pull/28" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/28/hovercard">#28</a> updates the <code>PdoDatabase</code> user repository to accept an additional<br>
configuration item, <code>sql_get_details</code>. This value should be a SQL statement<br>
that may be used to retrieve additional user details to provide in the<br>
<code>UserInterface</code> instance returned by the repository on successful<br>
authentication.</p>
</li>
<li>
<p><a href="https://github.com/zendframework/zend-expressive-authentication/pull/28" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/28/hovercard">#28</a> updates <code>UserRepositoryInterface</code> to remove the method <code>getRolesFromUser()</code>;<br>
this method is not needed, as <code>UserInterface</code> already provides access to user roles.</p>
</li>
<li>
<p><a href="https://github.com/zendframework/zend-expressive-authentication/pull/28" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/28/hovercard">#28</a> modifies each of the <code>Htpasswd</code> and <code>PdoDatabase</code> user repository<br>
implementations to accept a new constructor argument, a callable<br>
<code>$userFactory</code>. This factory should implement the following signature:</p>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="function (string $identity, array $roles = [], array $details = []) : UserInterface"><pre><span class="pl-k">function</span> (<span class="pl-smi">string</span> <span class="pl-s1"><span class="pl-c1">$</span>identity</span>, <span class="pl-smi">array</span> <span class="pl-s1"><span class="pl-c1">$</span>roles</span> = [], <span class="pl-smi">array</span> <span class="pl-s1"><span class="pl-c1">$</span>details</span> = []) : <span class="pl-smi"><span class="pl-smi">UserInterface</span></span></pre></div>
<p>This factory will be called by the repository in order to produce a<br>
<code>UserInterface</code> instance on successful authentication. You may provide the<br>
factory via the service <code>Zend\Expressive\Authentication\UserInterface</code> if you<br>
wish to use one other than the one returned by the provided<br>
<code>DefaultUserFactory</code> class.</p>
</li>
<li>
<p><a href="https://github.com/zendframework/zend-expressive-authentication/pull/28" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/28/hovercard">#28</a> modifies <code>UserInterface</code> as follows:</p>
<ul>
<li>Renames <code>getUserRoles()</code> to <code>getRoles()</code></li>
<li>Adds <code>getDetail(string $name, mixed $default)</code></li>
<li>Adds <code>getDetails() : array</code></li>
</ul>
</li>
</ul>
<h2>Deprecated</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Removed</h2>
<ul>
<li><a href="https://github.com/zendframework/zend-expressive-authentication/pull/28" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/28/hovercard">#28</a> removes <code>UserTrait</code> in favor of the <code>DefaultUser</code> implementation.</li>
</ul>
<h2>Fixed</h2>
<ul>
<li>Nothing.</li>
</ul>weierophinneytag:github.com,2008:Repository/110038187/0.4.02018-03-15T17:21:16Zzend-expressive-authentication 0.4.0<h2>Added</h2>
<ul>
<li><a href="https://github.com/zendframework/zend-expressive-authentication/pull/15" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/15/hovercard">#15</a> adds support for PSR-15.</li>
</ul>
<h2>Changed</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Deprecated</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Removed</h2>
<ul>
<li>
<p><a href="https://github.com/zendframework/zend-expressive-authentication/pull/15" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/15/hovercard">#15</a> and <a href="https://github.com/zendframework/zend-expressive-authentication/pull/3" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/3/hovercard">#3</a> remove support for http-interop/http-middleware and http-interop/http-server-middleware.</p>
</li>
<li>
<p><a href="https://github.com/zendframework/zend-expressive-authentication/pull/19" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/19/hovercard">#19</a> removes <code>Zend\Expressive\Authentication\ResponsePrototypeTrait</code>; the approach was flawed, and the various adapters will be updated to compose response factories instead of instances.</p>
</li>
</ul>
<h2>Fixed</h2>
<ul>
<li><a href="https://github.com/zendframework/zend-expressive-authentication/pull/18" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/18/hovercard">#18</a> uses the <code>ResponseInterface</code> as a factory. This was recently changed in <a href="https://github.com/zendframework/zend-expressive/pull/561" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive/pull/561/hovercard">zend-expressive#561</a>.</li>
</ul>weierophinneytag:github.com,2008:Repository/110038187/0.3.12018-03-12T22:14:08Zzend-expressive-authentication 0.3.1<h2>Added</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Changed</h2>
<ul>
<li><a href="https://github.com/zendframework/zend-expressive-authentication/issues/22" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/22/hovercard">#22</a> updates the <code>ResponsePrototypeTrait</code> to allow callable <code>ResponseInterface</code> services (instead of those directly returning a <code>ResponseInterface</code>).</li>
</ul>
<h2>Deprecated</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Removed</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Fixed</h2>
<ul>
<li>Nothing.</li>
</ul>weierophinneytag:github.com,2008:Repository/110038187/1.0.0alpha42018-02-27T14:50:42Zzend-expressive-authentication 1.0.0alpha4<h2>Added</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Changed</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Deprecated</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Removed</h2>
<ul>
<li><a href="https://github.com/zendframework/zend-expressive-authentication/pull/19" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/19/hovercard">#19</a> removes <code>Zend\Expressive\Authentication\ResponsePrototypeTrait</code>; the approach was flawed, and the various adapters will be updated to compose response factories instead of instances.</li>
</ul>
<h2>Fixed</h2>
<ul>
<li>Nothing.</li>
</ul>weierophinneytag:github.com,2008:Repository/110038187/1.0.0alpha32018-02-24T09:16:17Zzend-expressive-authentication 1.0.0alpha3<h2>Added</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Changed</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Deprecated</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Removed</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Fixed</h2>
<ul>
<li><a href="https://github.com/zendframework/zend-expressive-authentication/pull/18" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/18/hovercard">#18</a> uses the ResponseInterface as a factory. This was recently changed in <a href="https://github.com/zendframework/zend-expressive/pull/561" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive/pull/561/hovercard">zend-expressive#561</a>.</li>
</ul>geerteltinktag:github.com,2008:Repository/110038187/1.0.0alpha22018-02-22T22:45:18Zzend-expressive-authentication 1.0.0alpha2<h2>Added</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Changed</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Deprecated</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Removed</h2>
<ul>
<li>Nothing.</li>
</ul>
<h2>Fixed</h2>
<ul>
<li><a href="https://github.com/zendframework/zend-expressive-authentication/pull/17" data-hovercard-type="pull_request" data-hovercard-url="/zendframework/zend-expressive-authentication/pull/17/hovercard">#17</a> adds the missing config provider component-installer config.</li>
</ul>geerteltink