PHP Classes

File: build/phpdox/xml/tokens/services/UserCredentialPasswordLoginService.php.xml

Recommend this page to a friend!
  Classes of Cyril Ogana   PHP User Credentials   build/phpdox/xml/tokens/services/UserCredentialPasswordLoginService.php.xml   Download  
File: build/phpdox/xml/tokens/services/UserCredentialPasswordLoginService.php.xml
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: PHP User Credentials
Implement password authentication policies
Author: By
Last change:
Date: 7 years ago
Size: 45,890 bytes
 

Contents

Class file image Download
<?xml version="1.0"?> <source xmlns="http://xml.phpdox.net/token"> <file xmlns="http://xml.phpdox.net/src" path="/home/rhossis/NetBeansProjects/cymapgt/core/application/authentication/UserCredential/src/services" file="UserCredentialPasswordLoginService.php" realpath="/home/rhossis/NetBeansProjects/cymapgt/core/application/authentication/UserCredential/src/services/UserCredentialPasswordLoginService.php" size="7770" time="2015-07-18T02:42:32+03:00" unixtime="1437176552" sha1="5a4d365495f9d75908c51dd545286ce438fa145b" relative="services/UserCredentialPasswordLoginService.php"/> <line no="1"> <token name="T_OPEN_TAG">&lt;?php</token> </line> <line no="2"> <token name="T_NAMESPACE">namespace</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">cymapgt</token> <token name="T_NS_SEPARATOR">\</token> <token name="T_STRING">core</token> <token name="T_NS_SEPARATOR">\</token> <token name="T_STRING">application</token> <token name="T_NS_SEPARATOR">\</token> <token name="T_STRING">authentication</token> <token name="T_NS_SEPARATOR">\</token> <token name="T_STRING">UserCredential</token> <token name="T_NS_SEPARATOR">\</token> <token name="T_STRING">services</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="3"/> <line no="4"> <token name="T_USE">use</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">cymapgt</token> <token name="T_NS_SEPARATOR">\</token> <token name="T_STRING">Exception</token> <token name="T_NS_SEPARATOR">\</token> <token name="T_STRING">UserCredentialException</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="5"> <token name="T_USE">use</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">cymapgt</token> <token name="T_NS_SEPARATOR">\</token> <token name="T_STRING">core</token> <token name="T_NS_SEPARATOR">\</token> <token name="T_STRING">application</token> <token name="T_NS_SEPARATOR">\</token> <token name="T_STRING">authentication</token> <token name="T_NS_SEPARATOR">\</token> <token name="T_STRING">UserCredential</token> <token name="T_NS_SEPARATOR">\</token> <token name="T_STRING">abstractclass</token> <token name="T_NS_SEPARATOR">\</token> <token name="T_STRING">UserCredentialAuthenticationInterface</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="6"/> <line no="7"> <token name="T_DOC_COMMENT">/**</token> </line> <line no="8"> <token name="T_DOC_COMMENT"> * UserCredentialPasswordLoginService</token> </line> <line no="9"> <token name="T_DOC_COMMENT"> * This service creates password hashes using the BCRYPT cipher</token> </line> <line no="10"> <token name="T_DOC_COMMENT"> *</token> </line> <line no="11"> <token name="T_DOC_COMMENT"> * @category </token> </line> <line no="12"> <token name="T_DOC_COMMENT"> * @package cymapgt.core.application.authentication.UserCredential.services</token> </line> <line no="13"> <token name="T_DOC_COMMENT"> * @copyright Copyright (c) 2014 Cymap</token> </line> <line no="14"> <token name="T_DOC_COMMENT"> * @author Cyril Ogana &lt;cogana@gmail.com&gt;</token> </line> <line no="15"> <token name="T_DOC_COMMENT"> * @abstract</token> </line> <line no="16"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="17"> <token name="T_DOC_COMMENT"> * The objectives of the service are</token> </line> <line no="18"> <token name="T_DOC_COMMENT"> * - Create password hash</token> </line> <line no="19"> <token name="T_DOC_COMMENT"> * - Verify password for log in authentication</token> </line> <line no="20"> <token name="T_DOC_COMMENT"> * @TODO provide ability to use AES to encrypt the hash</token> </line> <line no="21"> <token name="T_DOC_COMMENT"> */</token> </line> <line no="22"/> <line no="23"> <token name="T_CLASS">class</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">UserCredentialPasswordLoginService</token> <token name="T_WHITESPACE"> </token> <token name="T_IMPLEMENTS">implements</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">UserCredentialAuthenticationInterface</token> </line> <line no="24"> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="25"> <token name="T_WHITESPACE"> </token> <token name="T_COMMENT">//flags</token> </line> <line no="26"> <token name="T_WHITESPACE"> </token> <token name="T_PRIVATE">private</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$_usePasswordFlag</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_EQUAL">=</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">true</token> <token name="T_PHPDOX_SEMICOLON">;</token> <token name="T_WHITESPACE"> </token> <token name="T_COMMENT">//whether the auth is password based (at some stage or fully)</token> </line> <line no="27"> <token name="T_WHITESPACE"> </token> <token name="T_PRIVATE">private</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$_multiFactorFlag</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_EQUAL">=</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">false</token> <token name="T_PHPDOX_SEMICOLON">;</token> <token name="T_WHITESPACE"> </token> <token name="T_COMMENT">//whether the auth service is multi factor</token> </line> <line no="28"> <token name="T_WHITESPACE"> </token> </line> <line no="29"> <token name="T_WHITESPACE"> </token> <token name="T_COMMENT">//user info</token> </line> <line no="30"> <token name="T_WHITESPACE"> </token> <token name="T_PRIVATE">private</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$_inputPassword</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_EQUAL">=</token> <token name="T_WHITESPACE"> </token> <token name="T_CONSTANT_ENCAPSED_STRING">''</token> <token name="T_PHPDOX_SEMICOLON">;</token> <token name="T_WHITESPACE"> </token> <token name="T_COMMENT">//the input password</token> </line> <line no="31"> <token name="T_WHITESPACE"> </token> <token name="T_PRIVATE">private</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$_currentUsername</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_EQUAL">=</token> <token name="T_WHITESPACE"> </token> <token name="T_CONSTANT_ENCAPSED_STRING">''</token> <token name="T_PHPDOX_SEMICOLON">;</token> <token name="T_WHITESPACE"> </token> <token name="T_COMMENT">//username</token> </line> <line no="32"> <token name="T_WHITESPACE"> </token> <token name="T_PRIVATE">private</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$_currentPassword</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_EQUAL">=</token> <token name="T_WHITESPACE"> </token> <token name="T_CONSTANT_ENCAPSED_STRING">''</token> <token name="T_PHPDOX_SEMICOLON">;</token> <token name="T_WHITESPACE"> </token> <token name="T_COMMENT">//hashed password</token> </line> <line no="33"> <token name="T_WHITESPACE"> </token> </line> <line no="34"> <token name="T_WHITESPACE"> </token> <token name="T_COMMENT">//multi factor auth</token> </line> <line no="35"> <token name="T_WHITESPACE"> </token> <token name="T_PRIVATE">private</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$_multiFactorHandler</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_EQUAL">=</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">null</token> <token name="T_PHPDOX_SEMICOLON">;</token> <token name="T_WHITESPACE"> </token> <token name="T_COMMENT">//the handler instance for mutli factor auth</token> </line> <line no="36"> <token name="T_WHITESPACE"> </token> <token name="T_PRIVATE">private</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$_multiFactorStages</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_EQUAL">=</token> <token name="T_WHITESPACE"> </token> <token name="T_ARRAY">array</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_PHPDOX_SEMICOLON">;</token> <token name="T_WHITESPACE"> </token> <token name="T_COMMENT">//the stages of multi factor auth</token> </line> <line no="37"> <token name="T_WHITESPACE"> </token> </line> <line no="38"> <token name="T_WHITESPACE"> </token> <token name="T_COMMENT">//Constructor method</token> </line> <line no="39"> <token name="T_WHITESPACE"> </token> <token name="T_PUBLIC">public</token> <token name="T_WHITESPACE"> </token> <token name="T_FUNCTION">function</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">__construct</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="40"> <token name="T_WHITESPACE"> </token> </line> <line no="41"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> <token name="T_WHITESPACE"> </token> </line> <line no="42"> <token name="T_WHITESPACE"> </token> </line> <line no="43"> <token name="T_WHITESPACE"> </token> <token name="T_DOC_COMMENT">/**</token> </line> <line no="44"> <token name="T_DOC_COMMENT"> * function setUserPassword() - Specify whether the method uses password</token> </line> <line no="45"> <token name="T_DOC_COMMENT"> * (set e.g. user log in, lDAP, 2 FACTOR (step 1)</token> </line> <line no="46"> <token name="T_DOC_COMMENT"> * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token> </line> <line no="47"> <token name="T_DOC_COMMENT"> *</token> </line> <line no="48"> <token name="T_DOC_COMMENT"> * @param bool $flag - if true, is using password</token> </line> <line no="49"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="50"> <token name="T_DOC_COMMENT"> * @access public</token> </line> <line no="51"> <token name="T_DOC_COMMENT"> */</token> <token name="T_WHITESPACE"> </token> </line> <line no="52"> <token name="T_WHITESPACE"> </token> <token name="T_PUBLIC">public</token> <token name="T_WHITESPACE"> </token> <token name="T_FUNCTION">function</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">setUsePassword</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_VARIABLE">$flag</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="53"> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_userPasswordFlag</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_EQUAL">=</token> <token name="T_WHITESPACE"> </token> <token name="T_BOOL_CAST">(bool)</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$flag</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="54"> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_multiFactorFlag</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_EQUAL">=</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">true</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="55"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="56"/> <line no="57"> <token name="T_WHITESPACE"> </token> <token name="T_DOC_COMMENT">/**</token> </line> <line no="58"> <token name="T_DOC_COMMENT"> * function getUsePassword() - Return the use password flag</token> </line> <line no="59"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="60"> <token name="T_DOC_COMMENT"> * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token> </line> <line no="61"> <token name="T_DOC_COMMENT"> *</token> </line> <line no="62"> <token name="T_DOC_COMMENT"> * @return bool</token> </line> <line no="63"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="64"> <token name="T_DOC_COMMENT"> * @access public</token> </line> <line no="65"> <token name="T_DOC_COMMENT"> */</token> <token name="T_WHITESPACE"> </token> </line> <line no="66"> <token name="T_WHITESPACE"> </token> <token name="T_PUBLIC">public</token> <token name="T_WHITESPACE"> </token> <token name="T_FUNCTION">function</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">getUsePassword</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="67"> <token name="T_WHITESPACE"> </token> <token name="T_RETURN">return</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_usePasswordFlag</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="68"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="69"> <token name="T_WHITESPACE"> </token> </line> <line no="70"> <token name="T_WHITESPACE"> </token> <token name="T_DOC_COMMENT">/**</token> </line> <line no="71"> <token name="T_DOC_COMMENT"> * function setPassword() - Set the user password, and hash it</token> </line> <line no="72"> <token name="T_DOC_COMMENT"> *</token> </line> <line no="73"> <token name="T_DOC_COMMENT"> * Cyril Ogana &lt;cogana@gmail.com&gt;- 2014-02-13</token> </line> <line no="74"> <token name="T_DOC_COMMENT"> *</token> </line> <line no="75"> <token name="T_DOC_COMMENT"> * @param bool $password - the user password in raw text</token> </line> <line no="76"> <token name="T_DOC_COMMENT"> *</token> </line> <line no="77"> <token name="T_DOC_COMMENT"> * @access public</token> </line> <line no="78"> <token name="T_DOC_COMMENT"> */</token> <token name="T_WHITESPACE"> </token> </line> <line no="79"> <token name="T_WHITESPACE"> </token> <token name="T_PUBLIC">public</token> <token name="T_WHITESPACE"> </token> <token name="T_FUNCTION">function</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">setPassword</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_VARIABLE">$password</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="80"> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_inputPassword</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_EQUAL">=</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING_CAST">(string)</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$password</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="81"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="82"> <token name="T_WHITESPACE"> </token> </line> <line no="83"> <token name="T_WHITESPACE"> </token> <token name="T_DOC_COMMENT">/**</token> </line> <line no="84"> <token name="T_DOC_COMMENT"> * function getPassword() - Return the hashed user password</token> </line> <line no="85"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="86"> <token name="T_DOC_COMMENT"> * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token> </line> <line no="87"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="88"> <token name="T_DOC_COMMENT"> * @param $unhashed - flag if true, return unhashed</token> </line> <line no="89"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="90"> <token name="T_DOC_COMMENT"> * @return mixed - the hashed password</token> </line> <line no="91"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="92"> <token name="T_DOC_COMMENT"> * @access public</token> </line> <line no="93"> <token name="T_DOC_COMMENT"> */</token> </line> <line no="94"> <token name="T_WHITESPACE"> </token> <token name="T_PUBLIC">public</token> <token name="T_WHITESPACE"> </token> <token name="T_FUNCTION">function</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">getPassword</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_VARIABLE">$unhashed</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_EQUAL">=</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">false</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="95"> <token name="T_WHITESPACE"> </token> <token name="T_IF">if</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_BOOL_CAST">(bool)</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$unhashed</token> <token name="T_WHITESPACE"> </token> <token name="T_IS_IDENTICAL">===</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">true</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="96"> <token name="T_WHITESPACE"> </token> <token name="T_RETURN">return</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_inputPassword</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="97"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> <token name="T_ELSE">else</token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="98"> <token name="T_WHITESPACE"> </token> <token name="T_RETURN">return</token> <token name="T_WHITESPACE"> </token> <token name="T_NS_SEPARATOR">\</token> <token name="T_STRING">password_hash</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_inputPassword</token> <token name="T_PHPDOX_COMMA">,</token> <token name="T_WHITESPACE"> </token> <token name="T_NS_SEPARATOR">\</token> <token name="T_STRING">PASSWORD_DEFAULT</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="99"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="100"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="101"> <token name="T_WHITESPACE"> </token> </line> <line no="102"> <token name="T_WHITESPACE"> </token> <token name="T_DOC_COMMENT">/**</token> </line> <line no="103"> <token name="T_DOC_COMMENT"> * function setMultiFactor($flag) - Set whether this service uses multi factor auth</token> </line> <line no="104"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="105"> <token name="T_DOC_COMMENT"> * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token> </line> <line no="106"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="107"> <token name="T_DOC_COMMENT"> * @param bool $flag - if true, is a multi factor auth service</token> </line> <line no="108"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="109"> <token name="T_DOC_COMMENT"> * @access public</token> </line> <line no="110"> <token name="T_DOC_COMMENT"> */</token> </line> <line no="111"> <token name="T_WHITESPACE"> </token> <token name="T_PUBLIC">public</token> <token name="T_WHITESPACE"> </token> <token name="T_FUNCTION">function</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">setMultiFactor</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_VARIABLE">$flag</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="112"> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_multiFactorFlag</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_EQUAL">=</token> <token name="T_WHITESPACE"> </token> <token name="T_BOOL_CAST">(bool)</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$flag</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="113"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="114"> <token name="T_WHITESPACE"> </token> </line> <line no="115"> <token name="T_WHITESPACE"> </token> <token name="T_DOC_COMMENT">/**</token> </line> <line no="116"> <token name="T_DOC_COMMENT"> * function setMultiFactorHandler - Provide namespace of the multi factor handler service,</token> </line> <line no="117"> <token name="T_DOC_COMMENT"> * which has to implement the interface</token> </line> <line no="118"> <token name="T_DOC_COMMENT"> * cymapgt\core\application\authentication\abstractclass\UserCredentialAuthenticationMultiFactorInterface</token> </line> <line no="119"> <token name="T_DOC_COMMENT"> *</token> </line> <line no="120"> <token name="T_DOC_COMMENT"> * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token> </line> <line no="121"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="122"> <token name="T_DOC_COMMENT"> * @param string $handler - The namespace of the multi factor handler service</token> </line> <line no="123"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="124"> <token name="T_DOC_COMMENT"> * @access public </token> </line> <line no="125"> <token name="T_DOC_COMMENT"> */</token> </line> <line no="126"> <token name="T_WHITESPACE"> </token> <token name="T_PUBLIC">public</token> <token name="T_WHITESPACE"> </token> <token name="T_FUNCTION">function</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">setMultiFactorHandler</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_VARIABLE">$handler</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="127"> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_multiFactorHandler</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_EQUAL">=</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING_CAST">(string)</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$handler</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="128"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="129"> <token name="T_WHITESPACE"> </token> </line> <line no="130"> <token name="T_WHITESPACE"> </token> <token name="T_DOC_COMMENT">/**</token> </line> <line no="131"> <token name="T_DOC_COMMENT"> * function getMultiFactorHandler - Return an instance of the multi factor handler service</token> </line> <line no="132"> <token name="T_DOC_COMMENT"> * to use ofr this authentication session</token> </line> <line no="133"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="134"> <token name="T_DOC_COMMENT"> * Cyril Ogana &lt;cogana@gmail.com &gt; - 2014-02-13</token> </line> <line no="135"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="136"> <token name="T_DOC_COMMENT"> * @return object</token> </line> <line no="137"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="138"> <token name="T_DOC_COMMENT"> * @access public</token> </line> <line no="139"> <token name="T_DOC_COMMENT"> */</token> </line> <line no="140"> <token name="T_WHITESPACE"> </token> <token name="T_PUBLIC">public</token> <token name="T_WHITESPACE"> </token> <token name="T_FUNCTION">function</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">getMultiFactorHandler</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="141"> <token name="T_WHITESPACE"> </token> <token name="T_RETURN">return</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_multiFactorHandler</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="142"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="143"> <token name="T_WHITESPACE"> </token> </line> <line no="144"> <token name="T_WHITESPACE"> </token> <token name="T_DOC_COMMENT">/**</token> </line> <line no="145"> <token name="T_DOC_COMMENT"> * function setMultiFactorStages - in an array, configure the steps of the multifactor login, passing</token> </line> <line no="146"> <token name="T_DOC_COMMENT"> * numeric stage names, types and handler calls</token> </line> <line no="147"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="148"> <token name="T_DOC_COMMENT"> * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token> </line> <line no="149"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="150"> <token name="T_DOC_COMMENT"> * @param Array $stages - The stages of the log in session</token> </line> <line no="151"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="152"> <token name="T_DOC_COMMENT"> * @access public</token> </line> <line no="153"> <token name="T_DOC_COMMENT"> */</token> </line> <line no="154"> <token name="T_WHITESPACE"> </token> <token name="T_PUBLIC">public</token> <token name="T_WHITESPACE"> </token> <token name="T_FUNCTION">function</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">setMultiFactorStages</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_ARRAY">Array</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$stages</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="155"> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_multiFactorStages</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_EQUAL">=</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$stages</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="156"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="157"> <token name="T_WHITESPACE"> </token> </line> <line no="158"> <token name="T_WHITESPACE"> </token> <token name="T_DOC_COMMENT">/**</token> </line> <line no="159"> <token name="T_DOC_COMMENT"> * function getMultiFactorStages - return the multi factor stages array</token> </line> <line no="160"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="161"> <token name="T_DOC_COMMENT"> * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token> </line> <line no="162"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="163"> <token name="T_DOC_COMMENT"> * @return array</token> </line> <line no="164"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="165"> <token name="T_DOC_COMMENT"> * @access public</token> </line> <line no="166"> <token name="T_DOC_COMMENT"> */</token> </line> <line no="167"> <token name="T_WHITESPACE"> </token> <token name="T_PUBLIC">public</token> <token name="T_WHITESPACE"> </token> <token name="T_FUNCTION">function</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">getMultiFactorStages</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="168"> <token name="T_WHITESPACE"> </token> <token name="T_RETURN">return</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_multiFactorStages</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="169"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="170"> <token name="T_WHITESPACE"> </token> </line> <line no="171"> <token name="T_WHITESPACE"> </token> <token name="T_DOC_COMMENT">/**</token> </line> <line no="172"> <token name="T_DOC_COMMENT"> * function initialize() - initialize the service, bootstrap before any processing</token> </line> <line no="173"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="174"> <token name="T_DOC_COMMENT"> * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token> </line> <line no="175"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="176"> <token name="T_DOC_COMMENT"> * @access public</token> </line> <line no="177"> <token name="T_DOC_COMMENT"> */</token> </line> <line no="178"> <token name="T_WHITESPACE"> </token> <token name="T_PUBLIC">public</token> <token name="T_WHITESPACE"> </token> <token name="T_FUNCTION">function</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">initialize</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="179"> <token name="T_WHITESPACE"> </token> <token name="T_IF">if</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_inputPassword</token> <token name="T_WHITESPACE"> </token> <token name="T_IS_EQUAL">==</token> <token name="T_WHITESPACE"> </token> <token name="T_CONSTANT_ENCAPSED_STRING">''</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> </line> <line no="180"> <token name="T_WHITESPACE"> </token> <token name="T_BOOLEAN_AND">&amp;&amp;</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_currentUsername</token> <token name="T_WHITESPACE"> </token> <token name="T_IS_EQUAL">==</token> <token name="T_WHITESPACE"> </token> <token name="T_CONSTANT_ENCAPSED_STRING">''</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> </line> <line no="181"> <token name="T_WHITESPACE"> </token> <token name="T_BOOLEAN_AND">&amp;&amp;</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_currentPassword</token> <token name="T_WHITESPACE"> </token> <token name="T_IS_EQUAL">==</token> <token name="T_WHITESPACE"> </token> <token name="T_CONSTANT_ENCAPSED_STRING">''</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> </line> <line no="182"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="183"> <token name="T_WHITESPACE"> </token> <token name="T_THROW">throw</token> <token name="T_WHITESPACE"> </token> <token name="T_NEW">new</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">UserCredentialException</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_CONSTANT_ENCAPSED_STRING">"The usercredential login service is not initialized with all parameters"</token> <token name="T_PHPDOX_COMMA">,</token> <token name="T_WHITESPACE"> </token> <token name="T_LNUMBER">2000</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="184"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="185"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="186"> <token name="T_WHITESPACE"> </token> </line> <line no="187"> <token name="T_WHITESPACE"> </token> <token name="T_DOC_COMMENT">/**</token> </line> <line no="188"> <token name="T_DOC_COMMENT"> * function authenticate() - authenticate the user after initialization</token> </line> <line no="189"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="190"> <token name="T_DOC_COMMENT"> * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token> </line> <line no="191"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="192"> <token name="T_DOC_COMMENT"> * @access public</token> </line> <line no="193"> <token name="T_DOC_COMMENT"> */</token> </line> <line no="194"> <token name="T_WHITESPACE"> </token> <token name="T_PUBLIC">public</token> <token name="T_WHITESPACE"> </token> <token name="T_FUNCTION">function</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">authenticate</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="195"> <token name="T_WHITESPACE"> </token> <token name="T_RETURN">return</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">password_verify</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_inputPassword</token> <token name="T_PHPDOX_COMMA">,</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_currentPassword</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="196"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="197"> <token name="T_WHITESPACE"> </token> </line> <line no="198"> <token name="T_WHITESPACE"> </token> <token name="T_DOC_COMMENT">/**</token> </line> <line no="199"> <token name="T_DOC_COMMENT"> * function setCurrentUsername($username) - set the current username</token> </line> <line no="200"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="201"> <token name="T_DOC_COMMENT"> * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token> </line> <line no="202"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="203"> <token name="T_DOC_COMMENT"> * @param string $username - The current username</token> </line> <line no="204"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="205"> <token name="T_DOC_COMMENT"> * @access public</token> </line> <line no="206"> <token name="T_DOC_COMMENT"> */</token> </line> <line no="207"> <token name="T_WHITESPACE"> </token> <token name="T_PUBLIC">public</token> <token name="T_WHITESPACE"> </token> <token name="T_FUNCTION">function</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">setCurrentUsername</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_VARIABLE">$username</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="208"> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_currentUsername</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_EQUAL">=</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING_CAST">(string)</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$username</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="209"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="210"> <token name="T_WHITESPACE"> </token> </line> <line no="211"> <token name="T_WHITESPACE"> </token> <token name="T_DOC_COMMENT">/**</token> </line> <line no="212"> <token name="T_DOC_COMMENT"> * function getCurrentUsername() - get the current username</token> </line> <line no="213"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="214"> <token name="T_DOC_COMMENT"> * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-14</token> </line> <line no="215"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="216"> <token name="T_DOC_COMMENT"> * @return string - Return the current username</token> </line> <line no="217"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="218"> <token name="T_DOC_COMMENT"> * @access public</token> </line> <line no="219"> <token name="T_DOC_COMMENT"> */</token> </line> <line no="220"> <token name="T_WHITESPACE"> </token> <token name="T_PUBLIC">public</token> <token name="T_WHITESPACE"> </token> <token name="T_FUNCTION">function</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">getCurrentUsername</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="221"> <token name="T_WHITESPACE"> </token> <token name="T_RETURN">return</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_currentUsername</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="222"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="223"> <token name="T_WHITESPACE"> </token> </line> <line no="224"> <token name="T_WHITESPACE"> </token> <token name="T_DOC_COMMENT">/**</token> </line> <line no="225"> <token name="T_DOC_COMMENT"> * function setCurrentPassword() - set the current password</token> </line> <line no="226"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="227"> <token name="T_DOC_COMMENT"> * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-14</token> </line> <line no="228"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="229"> <token name="T_DOC_COMMENT"> * @param mixed $password - The current password hash</token> </line> <line no="230"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="231"> <token name="T_DOC_COMMENT"> * @access public</token> </line> <line no="232"> <token name="T_DOC_COMMENT"> */</token> </line> <line no="233"> <token name="T_WHITESPACE"> </token> <token name="T_PUBLIC">public</token> <token name="T_WHITESPACE"> </token> <token name="T_FUNCTION">function</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">setCurrentPassword</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_VARIABLE">$password</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="234"> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_currentPassword</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_EQUAL">=</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$password</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="235"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="236"> <token name="T_WHITESPACE"> </token> </line> <line no="237"> <token name="T_WHITESPACE"> </token> <token name="T_DOC_COMMENT">/**</token> </line> <line no="238"> <token name="T_DOC_COMMENT"> * function getCurrentPassword() - return the current password (hashed)</token> </line> <line no="239"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="240"> <token name="T_DOC_COMMENT"> * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-14</token> </line> <line no="241"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="242"> <token name="T_DOC_COMMENT"> * @return mixed - The hashed password</token> </line> <line no="243"> <token name="T_DOC_COMMENT"> * </token> </line> <line no="244"> <token name="T_DOC_COMMENT"> * @access public</token> </line> <line no="245"> <token name="T_DOC_COMMENT"> */</token> </line> <line no="246"> <token name="T_WHITESPACE"> </token> <token name="T_PUBLIC">public</token> <token name="T_WHITESPACE"> </token> <token name="T_FUNCTION">function</token> <token name="T_WHITESPACE"> </token> <token name="T_STRING">getCurrentPassword</token> <token name="T_PHPDOX_OPEN_BRACKET">(</token> <token name="T_PHPDOX_CLOSE_BRACKET">)</token> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_OPEN_CURLY">{</token> </line> <line no="247"> <token name="T_WHITESPACE"> </token> <token name="T_RETURN">return</token> <token name="T_WHITESPACE"> </token> <token name="T_VARIABLE">$this</token> <token name="T_OBJECT_OPERATOR">-&gt;</token> <token name="T_STRING">_currentPassword</token> <token name="T_PHPDOX_SEMICOLON">;</token> </line> <line no="248"> <token name="T_WHITESPACE"> </token> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="249"> <token name="T_PHPDOX_CLOSE_CURLY">}</token> </line> <line no="250"/> </source>