|
|
|
@ -51,23 +51,23 @@
|
|
|
|
|
</td>
|
|
|
|
|
<td class="danger small"><div align="right">0.00%</div></td>
|
|
|
|
|
<td class="danger small"><div align="right">0 / 1</div></td>
|
|
|
|
|
<td class="warning big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="75.00" aria-valuemin="0" aria-valuemax="100" style="width: 75.00%">
|
|
|
|
|
<span class="sr-only">75.00% covered (warning)</span>
|
|
|
|
|
<td class="danger big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%">
|
|
|
|
|
<span class="sr-only">50.00% covered (danger)</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="warning small"><div align="right">75.00%</div></td>
|
|
|
|
|
<td class="warning small"><div align="right">3 / 4</div></td>
|
|
|
|
|
<td class="warning small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
|
|
|
|
|
<td class="warning big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="85.96" aria-valuemin="0" aria-valuemax="100" style="width: 85.96%">
|
|
|
|
|
<span class="sr-only">85.96% covered (warning)</span>
|
|
|
|
|
<td class="danger small"><div align="right">50.00%</div></td>
|
|
|
|
|
<td class="danger small"><div align="right">2 / 4</div></td>
|
|
|
|
|
<td class="danger small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
|
|
|
|
|
<td class="success big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="93.33" aria-valuemin="0" aria-valuemax="100" style="width: 93.33%">
|
|
|
|
|
<span class="sr-only">93.33% covered (success)</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="warning small"><div align="right">85.96%</div></td>
|
|
|
|
|
<td class="warning small"><div align="right">49 / 57</div></td>
|
|
|
|
|
<td class="success small"><div align="right">93.33%</div></td>
|
|
|
|
|
<td class="success small"><div align="right">56 / 60</div></td>
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
@ -80,48 +80,48 @@
|
|
|
|
|
</td>
|
|
|
|
|
<td class="danger small"><div align="right">0.00%</div></td>
|
|
|
|
|
<td class="danger small"><div align="right">0 / 1</div></td>
|
|
|
|
|
<td class="warning big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="75.00" aria-valuemin="0" aria-valuemax="100" style="width: 75.00%">
|
|
|
|
|
<span class="sr-only">75.00% covered (warning)</span>
|
|
|
|
|
<td class="danger big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%">
|
|
|
|
|
<span class="sr-only">50.00% covered (danger)</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="warning small"><div align="right">75.00%</div></td>
|
|
|
|
|
<td class="warning small"><div align="right">3 / 4</div></td>
|
|
|
|
|
<td class="warning small">22.22</td>
|
|
|
|
|
<td class="warning big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="85.96" aria-valuemin="0" aria-valuemax="100" style="width: 85.96%">
|
|
|
|
|
<span class="sr-only">85.96% covered (warning)</span>
|
|
|
|
|
<td class="danger small"><div align="right">50.00%</div></td>
|
|
|
|
|
<td class="danger small"><div align="right">2 / 4</div></td>
|
|
|
|
|
<td class="danger small">22.14</td>
|
|
|
|
|
<td class="success big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="93.33" aria-valuemin="0" aria-valuemax="100" style="width: 93.33%">
|
|
|
|
|
<span class="sr-only">93.33% covered (success)</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="warning small"><div align="right">85.96%</div></td>
|
|
|
|
|
<td class="warning small"><div align="right">49 / 57</div></td>
|
|
|
|
|
<td class="success small"><div align="right">93.33%</div></td>
|
|
|
|
|
<td class="success small"><div align="right">56 / 60</div></td>
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="success" colspan="4"> <a href="#26"><abbr title="generateResponse()">generateResponse</abbr></a></td>
|
|
|
|
|
<td class="success big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
|
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
|
|
|
<td class="danger" colspan="4"> <a href="#26"><abbr title="generateResponse()">generateResponse</abbr></a></td>
|
|
|
|
|
<td class="danger big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
|
|
|
|
|
<span class="sr-only">0.00% covered (danger)</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
|
|
|
<td class="success small"><div align="right">1 / 1</div></td>
|
|
|
|
|
<td class="success small">1</td>
|
|
|
|
|
<td class="success big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
|
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
|
|
|
<td class="danger small"><div align="right">0.00%</div></td>
|
|
|
|
|
<td class="danger small"><div align="right">0 / 1</div></td>
|
|
|
|
|
<td class="danger small">2.02</td>
|
|
|
|
|
<td class="warning big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="83.33" aria-valuemin="0" aria-valuemax="100" style="width: 83.33%">
|
|
|
|
|
<span class="sr-only">83.33% covered (warning)</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
|
|
|
<td class="success small"><div align="right">9 / 9</div></td>
|
|
|
|
|
<td class="warning small"><div align="right">83.33%</div></td>
|
|
|
|
|
<td class="warning small"><div align="right">10 / 12</div></td>
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="success" colspan="4"> <a href="#45"><abbr title="determineAccessTokenInHeader(Request $request)">determineAccessTokenInHeader</abbr></a></td>
|
|
|
|
|
<td class="success" colspan="4"> <a href="#49"><abbr title="determineAccessTokenInHeader(Request $request)">determineAccessTokenInHeader</abbr></a></td>
|
|
|
|
|
<td class="success big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
|
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
|
|
@ -142,7 +142,7 @@
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="success" colspan="4"> <a href="#61"><abbr title="anonymous function ($param) use (&$params)">anonymous function</abbr></a></td>
|
|
|
|
|
<td class="success" colspan="4"> <a href="#65"><abbr title="anonymous function ($param) use (&$params)">anonymous function</abbr></a></td>
|
|
|
|
|
<td class="success big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
|
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
|
|
@ -163,7 +163,7 @@
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="danger" colspan="4"> <a href="#129"><abbr title="hash_equals($knownString, $userString)">hash_equals</abbr></a></td>
|
|
|
|
|
<td class="danger" colspan="4"> <a href="#133"><abbr title="hash_equals($knownString, $userString)">hash_equals</abbr></a></td>
|
|
|
|
|
<td class="danger big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
|
|
|
|
|
<span class="sr-only">0.00% covered (danger)</span>
|
|
|
|
@ -172,15 +172,15 @@
|
|
|
|
|
</td>
|
|
|
|
|
<td class="danger small"><div align="right">0.00%</div></td>
|
|
|
|
|
<td class="danger small"><div align="right">0 / 1</div></td>
|
|
|
|
|
<td class="danger small">12.19</td>
|
|
|
|
|
<td class="danger big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="20.00" aria-valuemin="0" aria-valuemax="100" style="width: 20.00%">
|
|
|
|
|
<span class="sr-only">20.00% covered (danger)</span>
|
|
|
|
|
<td class="danger small">4.13</td>
|
|
|
|
|
<td class="warning big"> <div class="progress">
|
|
|
|
|
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="80.00" aria-valuemin="0" aria-valuemax="100" style="width: 80.00%">
|
|
|
|
|
<span class="sr-only">80.00% covered (warning)</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="danger small"><div align="right">20.00%</div></td>
|
|
|
|
|
<td class="danger small"><div align="right">2 / 10</div></td>
|
|
|
|
|
<td class="warning small"><div align="right">80.00%</div></td>
|
|
|
|
|
<td class="warning small"><div align="right">8 / 10</div></td>
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -226,113 +226,117 @@
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 36" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testGenerateResponse</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">'mac_algorithm'</span><span class="default"> </span><span class="default">=></span><span class="default"> </span><span class="default">'hmac-sha-256'</span><span class="keyword">,</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 37" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testGenerateResponse</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 39" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testGenerateResponse</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="default"> </span><span class="default">$response</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">/**</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="comment"> * {@inheritdoc}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="comment"> */</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">public</span><span class="default"> </span><span class="keyword">function</span><span class="default"> </span><span class="default">determineAccessTokenInHeader</span><span class="keyword">(</span><span class="default">Request</span><span class="default"> </span><span class="default">$request</span><span class="keyword">)</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="6 tests cover line 47" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingHeader</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingAuthMac</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">$request</span><span class="default">-></span><span class="default">headers</span><span class="default">-></span><span class="default">has</span><span class="keyword">(</span><span class="default">'Authorization'</span><span class="keyword">)</span><span class="default"> </span><span class="default">===</span><span class="default"> </span><span class="default">false</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 48" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingHeader</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="5 tests cover line 51" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingAuthMac</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$header</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">$request</span><span class="default">-></span><span class="default">headers</span><span class="default">-></span><span class="default">get</span><span class="keyword">(</span><span class="default">'Authorization'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="5 tests cover line 53" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingAuthMac</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">substr</span><span class="keyword">(</span><span class="default">$header</span><span class="keyword">,</span><span class="default"> </span><span class="default">0</span><span class="keyword">,</span><span class="default"> </span><span class="default">4</span><span class="keyword">)</span><span class="default"> </span><span class="default">!==</span><span class="default"> </span><span class="default">'MAC '</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 54" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingAuthMac</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 39" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testGenerateResponse</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_null</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-></span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'refresh_token'</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="danger"><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$response</span><span class="keyword">[</span><span class="default">'refresh_token'</span><span class="keyword">]</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">$this</span><span class="default">-></span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'refresh_token'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="danger"><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 43" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testGenerateResponse</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="default"> </span><span class="default">$response</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">/**</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="comment"> * {@inheritdoc}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="comment"> */</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">public</span><span class="default"> </span><span class="keyword">function</span><span class="default"> </span><span class="default">determineAccessTokenInHeader</span><span class="keyword">(</span><span class="default">Request</span><span class="default"> </span><span class="default">$request</span><span class="keyword">)</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="6 tests cover line 51" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingHeader</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingAuthMac</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">$request</span><span class="default">-></span><span class="default">headers</span><span class="default">-></span><span class="default">has</span><span class="keyword">(</span><span class="default">'Authorization'</span><span class="keyword">)</span><span class="default"> </span><span class="default">===</span><span class="default"> </span><span class="default">false</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 52" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingHeader</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="5 tests cover line 55" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingAuthMac</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$header</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">$request</span><span class="default">-></span><span class="default">headers</span><span class="default">-></span><span class="default">get</span><span class="keyword">(</span><span class="default">'Authorization'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">// Find all the parameters expressed in the header</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 58" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$paramsRaw</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">explode</span><span class="keyword">(</span><span class="default">','</span><span class="keyword">,</span><span class="default"> </span><span class="default">substr</span><span class="keyword">(</span><span class="default">$header</span><span class="keyword">,</span><span class="default"> </span><span class="default">4</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 59" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$params</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="keyword">new</span><span class="default"> </span><span class="default">ParameterBag</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="5 tests cover line 57" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingAuthMac</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">substr</span><span class="keyword">(</span><span class="default">$header</span><span class="keyword">,</span><span class="default"> </span><span class="default">0</span><span class="keyword">,</span><span class="default"> </span><span class="default">4</span><span class="keyword">)</span><span class="default"> </span><span class="default">!==</span><span class="default"> </span><span class="default">'MAC '</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 58" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingAuthMac</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">array_map</span><span class="keyword">(</span><span class="keyword">function</span><span class="default"> </span><span class="keyword">(</span><span class="default">$param</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">use</span><span class="default"> </span><span class="keyword">(</span><span class="keyword">&</span><span class="default">$params</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 62" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$param</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">trim</span><span class="keyword">(</span><span class="default">$param</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 64" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">preg_match_all</span><span class="keyword">(</span><span class="default">'/([a-zA-Z]*)="([\w=\/+]*)"/'</span><span class="keyword">,</span><span class="default"> </span><span class="default">$param</span><span class="keyword">,</span><span class="default"> </span><span class="default">$matches</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">// @codeCoverageIgnoreStart</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">count</span><span class="keyword">(</span><span class="default">$matches</span><span class="keyword">)</span><span class="default"> </span><span class="default">!==</span><span class="default"> </span><span class="default">3</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">// @codeCoverageIgnoreEnd</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 72" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$key</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">reset</span><span class="keyword">(</span><span class="default">$matches</span><span class="keyword">[</span><span class="default">1</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 73" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$value</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">trim</span><span class="keyword">(</span><span class="default">reset</span><span class="keyword">(</span><span class="default">$matches</span><span class="keyword">[</span><span class="default">2</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 75" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$value</span><span class="keyword">)</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 76" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">// Find all the parameters expressed in the header</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 62" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$paramsRaw</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">explode</span><span class="keyword">(</span><span class="default">','</span><span class="keyword">,</span><span class="default"> </span><span class="default">substr</span><span class="keyword">(</span><span class="default">$header</span><span class="keyword">,</span><span class="default"> </span><span class="default">4</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 63" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$params</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="keyword">new</span><span class="default"> </span><span class="default">ParameterBag</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">array_map</span><span class="keyword">(</span><span class="keyword">function</span><span class="default"> </span><span class="keyword">(</span><span class="default">$param</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">use</span><span class="default"> </span><span class="keyword">(</span><span class="keyword">&</span><span class="default">$params</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 66" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$param</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">trim</span><span class="keyword">(</span><span class="default">$param</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 68" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">preg_match_all</span><span class="keyword">(</span><span class="default">'/([a-zA-Z]*)="([\w=\/+]*)"/'</span><span class="keyword">,</span><span class="default"> </span><span class="default">$param</span><span class="keyword">,</span><span class="default"> </span><span class="default">$matches</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">// @codeCoverageIgnoreStart</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">count</span><span class="keyword">(</span><span class="default">$matches</span><span class="keyword">)</span><span class="default"> </span><span class="default">!==</span><span class="default"> </span><span class="default">3</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">// @codeCoverageIgnoreEnd</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 76" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$key</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">reset</span><span class="keyword">(</span><span class="default">$matches</span><span class="keyword">[</span><span class="default">1</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 77" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$value</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">trim</span><span class="keyword">(</span><span class="default">reset</span><span class="keyword">(</span><span class="default">$matches</span><span class="keyword">[</span><span class="default">2</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="3 tests cover line 79" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">set</span><span class="keyword">(</span><span class="default">$key</span><span class="keyword">,</span><span class="default"> </span><span class="default">$value</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 80" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span><span class="keyword">,</span><span class="default"> </span><span class="default">$paramsRaw</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">// Validate parameters</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 83" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">$params</span><span class="default">-></span><span class="default">has</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span><span class="default"> </span><span class="default">===</span><span class="default"> </span><span class="default">false</span><span class="default"> </span><span class="default">||</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">has</span><span class="keyword">(</span><span class="default">'ts'</span><span class="keyword">)</span><span class="default"> </span><span class="default">===</span><span class="default"> </span><span class="default">false</span><span class="default"> </span><span class="default">||</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">has</span><span class="keyword">(</span><span class="default">'nonce'</span><span class="keyword">)</span><span class="default"> </span><span class="default">===</span><span class="default"> </span><span class="default">false</span><span class="default"> </span><span class="default">||</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">has</span><span class="keyword">(</span><span class="default">'mac'</span><span class="keyword">)</span><span class="default"> </span><span class="default">===</span><span class="default"> </span><span class="default">false</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 84" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="3 tests cover line 87" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">(int)</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">get</span><span class="keyword">(</span><span class="default">'ts'</span><span class="keyword">)</span><span class="default"> </span><span class="default">!==</span><span class="default"> </span><span class="default">time</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 88" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 79" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$value</span><span class="keyword">)</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 80" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="3 tests cover line 83" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">set</span><span class="keyword">(</span><span class="default">$key</span><span class="keyword">,</span><span class="default"> </span><span class="default">$value</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 84" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span><span class="keyword">,</span><span class="default"> </span><span class="default">$paramsRaw</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">// Validate parameters</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="4 tests cover line 87" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">$params</span><span class="default">-></span><span class="default">has</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span><span class="default"> </span><span class="default">===</span><span class="default"> </span><span class="default">false</span><span class="default"> </span><span class="default">||</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">has</span><span class="keyword">(</span><span class="default">'ts'</span><span class="keyword">)</span><span class="default"> </span><span class="default">===</span><span class="default"> </span><span class="default">false</span><span class="default"> </span><span class="default">||</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">has</span><span class="keyword">(</span><span class="default">'nonce'</span><span class="keyword">)</span><span class="default"> </span><span class="default">===</span><span class="default"> </span><span class="default">false</span><span class="default"> </span><span class="default">||</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">has</span><span class="keyword">(</span><span class="default">'mac'</span><span class="keyword">)</span><span class="default"> </span><span class="default">===</span><span class="default"> </span><span class="default">false</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 88" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderInvalidParam</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="2 tests cover line 91" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$accessToken</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">get</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="2 tests cover line 92" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$timestamp</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">(int)</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">get</span><span class="keyword">(</span><span class="default">'ts'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="2 tests cover line 93" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$nonce</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">get</span><span class="keyword">(</span><span class="default">'nonce'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="2 tests cover line 94" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$signature</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">get</span><span class="keyword">(</span><span class="default">'mac'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">// Try to find the MAC key for the access token</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="2 tests cover line 97" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$macKey</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">$this</span><span class="default">-></span><span class="default">server</span><span class="default">-></span><span class="default">getMacStorage</span><span class="keyword">(</span><span class="keyword">)</span><span class="default">-></span><span class="default">getByAccessToken</span><span class="keyword">(</span><span class="default">$accessToken</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="2 tests cover line 99" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">$macKey</span><span class="default"> </span><span class="default">===</span><span class="default"> </span><span class="default">null</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 100" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="3 tests cover line 91" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">(int)</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">get</span><span class="keyword">(</span><span class="default">'ts'</span><span class="keyword">)</span><span class="default"> </span><span class="default">!==</span><span class="default"> </span><span class="default">time</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 92" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMismatchTimestamp</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="2 tests cover line 95" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$accessToken</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">get</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="2 tests cover line 96" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$timestamp</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">(int)</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">get</span><span class="keyword">(</span><span class="default">'ts'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="2 tests cover line 97" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$nonce</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">get</span><span class="keyword">(</span><span class="default">'nonce'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="2 tests cover line 98" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$signature</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">get</span><span class="keyword">(</span><span class="default">'mac'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">// Try to find the MAC key for the access token</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="2 tests cover line 101" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$macKey</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">$this</span><span class="default">-></span><span class="default">server</span><span class="default">-></span><span class="default">getMacStorage</span><span class="keyword">(</span><span class="keyword">)</span><span class="default">-></span><span class="default">getByAccessToken</span><span class="keyword">(</span><span class="default">$accessToken</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">// Calculate and compare the signature</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$calculatedSignatureParts</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="keyword">[</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 105" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$timestamp</span><span class="keyword">,</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 106" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$nonce</span><span class="keyword">,</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 107" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-></span><span class="default">getMethod</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 108" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$request</span><span class="default">-></span><span class="default">getRequestUri</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 109" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$request</span><span class="default">-></span><span class="default">getHost</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 110" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$request</span><span class="default">-></span><span class="default">getPort</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 111" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 113" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">$params</span><span class="default">-></span><span class="default">has</span><span class="keyword">(</span><span class="default">'ext'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 114" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$calculatedSignatureParts</span><span class="keyword">[</span><span class="keyword">]</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">get</span><span class="keyword">(</span><span class="default">'ext'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 115" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="2 tests cover line 103" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">$macKey</span><span class="default"> </span><span class="default">===</span><span class="default"> </span><span class="default">null</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 104" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderMissingMacKey</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">// Calculate and compare the signature</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$calculatedSignatureParts</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="keyword">[</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 109" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$timestamp</span><span class="keyword">,</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 110" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$nonce</span><span class="keyword">,</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 111" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-></span><span class="default">getMethod</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 112" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$request</span><span class="default">-></span><span class="default">getRequestUri</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 113" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$request</span><span class="default">-></span><span class="default">getHost</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 114" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$request</span><span class="default">-></span><span class="default">getPort</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 115" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 117" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$calculatedSignature</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">base64_encode</span><span class="keyword">(</span><span class="default">hash_hmac</span><span class="keyword">(</span><span class="default">'sha256'</span><span class="keyword">,</span><span class="default"> </span><span class="default">implode</span><span class="keyword">(</span><span class="default">"\n"</span><span class="keyword">,</span><span class="default"> </span><span class="default">$calculatedSignatureParts</span><span class="keyword">)</span><span class="keyword">,</span><span class="default"> </span><span class="default">$macKey</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">// Return the access token if the signature matches</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 120" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="default"> </span><span class="keyword">(</span><span class="default">$this</span><span class="default">-></span><span class="default">hash_equals</span><span class="keyword">(</span><span class="default">$calculatedSignature</span><span class="keyword">,</span><span class="default"> </span><span class="default">$signature</span><span class="keyword">)</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">?</span><span class="default"> </span><span class="default">$accessToken</span><span class="default"> </span><span class="keyword">:</span><span class="default"> </span><span class="default">null</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 117" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">$params</span><span class="default">-></span><span class="default">has</span><span class="keyword">(</span><span class="default">'ext'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 118" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$calculatedSignatureParts</span><span class="keyword">[</span><span class="keyword">]</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">$params</span><span class="default">-></span><span class="default">get</span><span class="keyword">(</span><span class="default">'ext'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 119" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 121" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$calculatedSignature</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">base64_encode</span><span class="keyword">(</span><span class="default">hash_hmac</span><span class="keyword">(</span><span class="default">'sha256'</span><span class="keyword">,</span><span class="default"> </span><span class="default">implode</span><span class="keyword">(</span><span class="default">"\n"</span><span class="keyword">,</span><span class="default"> </span><span class="default">$calculatedSignatureParts</span><span class="keyword">)</span><span class="keyword">,</span><span class="default"> </span><span class="default">$macKey</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">/**</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="comment"> * Prevent timing attack</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="comment"> * @param string $knownString</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="comment"> * @param string $userString</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="comment"> * @return bool</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="comment"> */</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">private</span><span class="default"> </span><span class="keyword">function</span><span class="default"> </span><span class="default">hash_equals</span><span class="keyword">(</span><span class="default">$knownString</span><span class="keyword">,</span><span class="default"> </span><span class="default">$userString</span><span class="keyword">)</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 131" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">function_exists</span><span class="keyword">(</span><span class="default">'\hash_equals'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 132" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="default"> </span><span class="default">\</span><span class="default">hash_equals</span><span class="keyword">(</span><span class="default">$knownString</span><span class="keyword">,</span><span class="default"> </span><span class="default">$userString</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr class="danger"><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">strlen</span><span class="keyword">(</span><span class="default">$knownString</span><span class="keyword">)</span><span class="default"> </span><span class="default">!==</span><span class="default"> </span><span class="default">strlen</span><span class="keyword">(</span><span class="default">$userString</span><span class="keyword">)</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="danger"><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="default"> </span><span class="default">false</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr class="danger"><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$len</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">strlen</span><span class="keyword">(</span><span class="default">$knownString</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="danger"><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$result</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">0</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="danger"><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">for</span><span class="default"> </span><span class="keyword">(</span><span class="default">$i</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">0</span><span class="keyword">;</span><span class="default"> </span><span class="default">$i</span><span class="default"> </span><span class="keyword"><</span><span class="default"> </span><span class="default">$len</span><span class="keyword">;</span><span class="default"> </span><span class="default">$i</span><span class="default">++</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="danger"><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$result</span><span class="default"> </span><span class="default">|=</span><span class="default"> </span><span class="keyword">(</span><span class="default">ord</span><span class="keyword">(</span><span class="default">$knownString</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">^</span><span class="default"> </span><span class="default">ord</span><span class="keyword">(</span><span class="default">$userString</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="danger"><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">// They are only identical strings if $result is exactly 0...</span></td></tr>
|
|
|
|
|
<tr class="danger"><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="default"> </span><span class="default">0</span><span class="default"> </span><span class="default">===</span><span class="default"> </span><span class="default">$result</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">// Return the access token if the signature matches</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 124" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="default"> </span><span class="keyword">(</span><span class="default">$this</span><span class="default">-></span><span class="default">hash_equals</span><span class="keyword">(</span><span class="default">$calculatedSignature</span><span class="keyword">,</span><span class="default"> </span><span class="default">$signature</span><span class="keyword">)</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">?</span><span class="default"> </span><span class="default">$accessToken</span><span class="default"> </span><span class="keyword">:</span><span class="default"> </span><span class="default">null</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">/**</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="comment"> * Prevent timing attack</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"><span class="comment"> * @param string $knownString</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="comment"> * @param string $userString</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="comment"> * @return bool</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="comment"> */</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">private</span><span class="default"> </span><span class="keyword">function</span><span class="default"> </span><span class="default">hash_equals</span><span class="keyword">(</span><span class="default">$knownString</span><span class="keyword">,</span><span class="default"> </span><span class="default">$userString</span><span class="keyword">)</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 135" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">function_exists</span><span class="keyword">(</span><span class="default">'\hash_equals'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="danger"><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="default"> </span><span class="default">\</span><span class="default">hash_equals</span><span class="keyword">(</span><span class="default">$knownString</span><span class="keyword">,</span><span class="default"> </span><span class="default">$userString</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 138" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">if</span><span class="default"> </span><span class="keyword">(</span><span class="default">strlen</span><span class="keyword">(</span><span class="default">$knownString</span><span class="keyword">)</span><span class="default"> </span><span class="default">!==</span><span class="default"> </span><span class="default">strlen</span><span class="keyword">(</span><span class="default">$userString</span><span class="keyword">)</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="danger"><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="default"> </span><span class="default">false</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 141" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$len</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">strlen</span><span class="keyword">(</span><span class="default">$knownString</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 142" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$result</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">0</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 143" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">for</span><span class="default"> </span><span class="keyword">(</span><span class="default">$i</span><span class="default"> </span><span class="keyword">=</span><span class="default"> </span><span class="default">0</span><span class="keyword">;</span><span class="default"> </span><span class="default">$i</span><span class="default"> </span><span class="keyword"><</span><span class="default"> </span><span class="default">$len</span><span class="keyword">;</span><span class="default"> </span><span class="default">$i</span><span class="default">++</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">{</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 144" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"><span class="default"> </span><span class="default">$result</span><span class="default"> </span><span class="default">|=</span><span class="default"> </span><span class="keyword">(</span><span class="default">ord</span><span class="keyword">(</span><span class="default">$knownString</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">)</span><span class="default"> </span><span class="keyword">^</span><span class="default"> </span><span class="default">ord</span><span class="keyword">(</span><span class="default">$userString</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 145" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">// They are only identical strings if $result is exactly 0...</span></td></tr>
|
|
|
|
|
<tr class="covered-by-small-tests popin" data-title="1 test covers line 147" data-content="<ul><li class="covered-by-small-tests">LeagueTests\TokenType\MacTest::testDetermineAccessTokenInHeaderValid</li></ul>" data-placement="bottom" data-html="true"><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="default"> </span><span class="default">0</span><span class="default"> </span><span class="default">===</span><span class="default"> </span><span class="default">$result</span><span class="keyword">;</span></td></tr>
|
|
|
|
|
<tr class="warning"><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr>
|
|
|
|
|
<tr><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
|
|
|
|
|
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
@ -345,7 +349,7 @@
|
|
|
|
|
<span class="warning"><strong>Dead Code</strong></span>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
<small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 2.2.2</a> using <a href="http://php.net/" target="_top">PHP 5.6.5</a> and <a href="http://phpunit.de/">PHPUnit 4.3.5</a> at Tue Sep 1 13:35:23 UTC 2015.</small>
|
|
|
|
|
<small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 2.2.2</a> using <a href="http://php.net/" target="_top">PHP 5.4.37</a> and <a href="http://phpunit.de/">PHPUnit 4.3.5</a> at Tue Sep 1 13:38:30 UTC 2015.</small>
|
|
|
|
|
</p>
|
|
|
|
|
<a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
|
|
|
|
|
</footer>
|
|
|
|
|