source: sandbox/2.4-expresso-api/prototype/tests/rest/oauth/code-coverage/rest_oauth_OAuth2StorageUserCredential.php.html @ 5888

Revision 5888, 159.3 KB checked in by cristiano, 12 years ago (diff)

Ticket #2598 - implementação base REST + oauth

  • Property svn:executable set to *
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
3<html lang="en">
4  <head>
5    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6    <title>OAuth2StorageUserCredential.php</title>
7    <link rel="stylesheet" type="text/css" href="style.css">
8    <link rel="stylesheet" type="text/css" href="container.css">
9    <script type="text/javascript" src="yahoo-dom-event.js"></script>
10    <script type="text/javascript" src="container-min.js"></script>
11  </head>
12
13  <body class="yui-skin-sam">
14    <table width="100%" border="0" cellspacing="0" cellpadding="0">
15      <tr><td class="title">OAuth2StorageUserCredential.php</td></tr>
16      <tr><td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td></tr>
17
18      <tr>
19        <td width="100%">
20          <table cellpadding="1" border="0" width="100%">
21            <tr>
22              <td class="headerItem" width="20%">Current file:</td>
23              <td class="headerValue" width="80%"><a href="index.html">/home/cristiano/expresso-api/prototype</a>/<a href="rest.html">rest</a>/<a href="rest_oauth.html">oauth</a>/<a href="rest_oauth_OAuth2StorageUserCredential.php.html">OAuth2StorageUserCredential.php</a></td>
24            </tr>
25            <tr>
26              <td class="legendItem" width="20%">Legend:</td>
27              <td class="legendValue" width="80%">
28                <span class="legendCov">executed</span>
29                <span class="legendNoCov">not executed</span>
30                <span class="legendDeadCode">dead code</span>
31              </td>
32            </tr>
33          </table>
34        </td>
35      </tr>
36
37      <tr>
38        <td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td>
39      </tr>
40    </table>
41
42    <br />
43
44    <center>
45      <table width="90%" cellpadding="2" cellspacing="1" border="0">
46        <tr>
47          <td class="tableHead" width="30%">&nbsp;</td>
48          <td class="tableHead" colspan="10">Coverage</td>
49        </tr>
50        <tr>
51          <td class="tableHead">&nbsp;</td>
52          <td class="tableHead" colspan="3">Classes</td>
53          <td class="tableHead" colspan="4">Functions / Methods</td>
54          <td class="tableHead" colspan="3">Lines</td>
55        </tr>
56        <tr>
57          <td class="coverDirectory">Total</td>
58          <td class="coverBar">
59             <div class="coverBarOutline" title="100.00%">
60                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
61             </div>
62          </td>
63          <td class="coverPerHi">100.00%</td>
64          <td class="coverNumHi">1 / 1</td>
65          <td class="coverBar">
66            <div class="coverBarOutline" title="100.00%">
67                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
68            </div>
69          </td>
70          <td class="coverPerHi">100.00%</td>
71          <td class="coverNumHi">11 / 11</td>
72          <td class="crap"><acronym title="Change Risk Anti-Patterns (CRAP) Index">CRAP</acronym></td>
73          <td class="coverBar">
74            <div class="coverBarOutline" title="100.00%">
75                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
76            </div>
77          </td>
78          <td class="coverPerHi">100.00%</td>
79          <td class="coverNumHi">57 / 57</td>
80        </tr>
81
82        <tr>
83          <td class="coverDirectory">OAuth2StorageUserCredential</td>
84          <td class="coverBar">
85             <div class="coverBarOutline" title="100.00%">
86                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
87             </div>
88          </td>
89          <td class="coverPerHi">100.00%</td>
90          <td class="coverNumHi">1 / 1</td>
91          <td class="coverBar">
92            <div class="coverBarOutline" title="100.00%">
93                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
94            </div>
95          </td>
96          <td class="coverPerHi">100.00%</td>
97          <td class="coverNumHi">11 / 11</td>
98          <td class="crap">19</td>
99          <td class="coverBar">
100            <div class="coverBarOutline" title="100.00%">
101                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
102            </div>
103          </td>
104          <td class="coverPerHi">100.00%</td>
105          <td class="coverNumHi">57 / 57</td>
106        </tr>
107
108        <tr>
109          <td class="coverFile" colspan="4">&nbsp;<a href="#13">checkUserCredentials($client_id, $username, $password)</a></td>
110          <td class="coverBar">
111            <div class="coverBarOutline" title="100.00%">
112                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
113            </div>
114          </td>
115          <td class="coverPerHi">100.00%</td>
116          <td class="coverNumHi">1 / 1</td>
117          <td class="crap">2</td>
118          <td class="coverBar">
119              <div class="coverBarOutline" title="100.00%">
120                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
121              </div>
122          </td>
123          <td class="coverPerHi">100.00%</td>
124          <td class="coverNumHi">5 / 5</td>
125        </tr>
126
127        <tr>
128          <td class="coverFile" colspan="4">&nbsp;<a href="#42">checkClientCredentials($client_id, $client_secret = NULL)</a></td>
129          <td class="coverBar">
130            <div class="coverBarOutline" title="100.00%">
131                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
132            </div>
133          </td>
134          <td class="coverPerHi">100.00%</td>
135          <td class="coverNumHi">1 / 1</td>
136          <td class="crap">4</td>
137          <td class="coverBar">
138              <div class="coverBarOutline" title="100.00%">
139                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
140              </div>
141          </td>
142          <td class="coverPerHi">100.00%</td>
143          <td class="coverNumHi">6 / 6</td>
144        </tr>
145
146        <tr>
147          <td class="coverFile" colspan="4">&nbsp;<a href="#72">getClientDetails($client_id)</a></td>
148          <td class="coverBar">
149            <div class="coverBarOutline" title="100.00%">
150                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
151            </div>
152          </td>
153          <td class="coverPerHi">100.00%</td>
154          <td class="coverNumHi">1 / 1</td>
155          <td class="crap">2</td>
156          <td class="coverBar">
157              <div class="coverBarOutline" title="100.00%">
158                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
159              </div>
160          </td>
161          <td class="coverPerHi">100.00%</td>
162          <td class="coverNumHi">4 / 4</td>
163        </tr>
164
165        <tr>
166          <td class="coverFile" colspan="4">&nbsp;<a href="#99">getAccessToken($oauth_token)</a></td>
167          <td class="coverBar">
168            <div class="coverBarOutline" title="100.00%">
169                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
170            </div>
171          </td>
172          <td class="coverPerHi">100.00%</td>
173          <td class="coverNumHi">1 / 1</td>
174          <td class="crap">1</td>
175          <td class="coverBar">
176              <div class="coverBarOutline" title="100.00%">
177                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
178              </div>
179          </td>
180          <td class="coverPerHi">100.00%</td>
181          <td class="coverNumHi">1 / 1</td>
182        </tr>
183
184        <tr>
185          <td class="coverFile" colspan="4">&nbsp;<a href="#125">setRefreshToken($refresh_token, $client_id, $user_id, $expires, $scope = NULL)</a></td>
186          <td class="coverBar">
187            <div class="coverBarOutline" title="100.00%">
188                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
189            </div>
190          </td>
191          <td class="coverPerHi">100.00%</td>
192          <td class="coverNumHi">1 / 1</td>
193          <td class="crap">1</td>
194          <td class="coverBar">
195              <div class="coverBarOutline" title="100.00%">
196                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
197              </div>
198          </td>
199          <td class="coverPerHi">100.00%</td>
200          <td class="coverNumHi">8 / 8</td>
201        </tr>
202
203        <tr>
204          <td class="coverFile" colspan="4">&nbsp;<a href="#155">setAccessToken($oauth_token, $client_id, $user_id, $expires, $scope = NULL, $refresh_token)</a></td>
205          <td class="coverBar">
206            <div class="coverBarOutline" title="100.00%">
207                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
208            </div>
209          </td>
210          <td class="coverPerHi">100.00%</td>
211          <td class="coverNumHi">1 / 1</td>
212          <td class="crap">1</td>
213          <td class="coverBar">
214              <div class="coverBarOutline" title="100.00%">
215                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
216              </div>
217          </td>
218          <td class="coverPerHi">100.00%</td>
219          <td class="coverNumHi">9 / 9</td>
220        </tr>
221
222        <tr>
223          <td class="coverFile" colspan="4">&nbsp;<a href="#187">checkRestrictedGrantType($client_id, $grant_type)</a></td>
224          <td class="coverBar">
225            <div class="coverBarOutline" title="100.00%">
226                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
227            </div>
228          </td>
229          <td class="coverPerHi">100.00%</td>
230          <td class="coverNumHi">1 / 1</td>
231          <td class="crap">1</td>
232          <td class="coverBar">
233              <div class="coverBarOutline" title="100.00%">
234                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
235              </div>
236          </td>
237          <td class="coverPerHi">100.00%</td>
238          <td class="coverNumHi">1 / 1</td>
239        </tr>
240
241        <tr>
242          <td class="coverFile" colspan="4">&nbsp;<a href="#217">getRefreshToken($refresh_token)</a></td>
243          <td class="coverBar">
244            <div class="coverBarOutline" title="100.00%">
245                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
246            </div>
247          </td>
248          <td class="coverPerHi">100.00%</td>
249          <td class="coverNumHi">1 / 1</td>
250          <td class="crap">1</td>
251          <td class="coverBar">
252              <div class="coverBarOutline" title="100.00%">
253                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
254              </div>
255          </td>
256          <td class="coverPerHi">100.00%</td>
257          <td class="coverNumHi">1 / 1</td>
258        </tr>
259
260        <tr>
261          <td class="coverFile" colspan="4">&nbsp;<a href="#237">unsetRefreshToken($refresh_token)</a></td>
262          <td class="coverBar">
263            <div class="coverBarOutline" title="100.00%">
264                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
265            </div>
266          </td>
267          <td class="coverPerHi">100.00%</td>
268          <td class="coverNumHi">1 / 1</td>
269          <td class="crap">1</td>
270          <td class="coverBar">
271              <div class="coverBarOutline" title="100.00%">
272                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
273              </div>
274          </td>
275          <td class="coverPerHi">100.00%</td>
276          <td class="coverNumHi">6 / 6</td>
277        </tr>
278
279        <tr>
280          <td class="coverFile" colspan="4">&nbsp;<a href="#244">unsetAccessToken($refresh_token)</a></td>
281          <td class="coverBar">
282            <div class="coverBarOutline" title="100.00%">
283                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
284            </div>
285          </td>
286          <td class="coverPerHi">100.00%</td>
287          <td class="coverNumHi">1 / 1</td>
288          <td class="crap">1</td>
289          <td class="coverBar">
290              <div class="coverBarOutline" title="100.00%">
291                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
292              </div>
293          </td>
294          <td class="coverPerHi">100.00%</td>
295          <td class="coverNumHi">6 / 6</td>
296        </tr>
297
298        <tr>
299          <td class="coverFile" colspan="4">&nbsp;<a href="#258">getToken($token, $isRefresh = true)</a></td>
300          <td class="coverBar">
301            <div class="coverBarOutline" title="100.00%">
302                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
303            </div>
304          </td>
305          <td class="coverPerHi">100.00%</td>
306          <td class="coverNumHi">1 / 1</td>
307          <td class="crap">4</td>
308          <td class="coverBar">
309              <div class="coverBarOutline" title="100.00%">
310                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
311              </div>
312          </td>
313          <td class="coverPerHi">100.00%</td>
314          <td class="coverNumHi">10 / 10</td>
315        </tr>
316
317
318      </table>
319    </center>
320
321    <br />
322
323    <table cellpadding="0" cellspacing="0" border="0">
324      <tr>
325        <td><br /></td>
326      </tr>
327      <tr>
328        <td>
329<pre class="source">
330<span class="lineNum" id="container1"><a name="1"></a><a href="#1" id="line1">       1</a> </span>                : &lt;?php                                                                                                                                                                                                                                             
331<span class="lineNum" id="container2"><a name="2"></a><a href="#2" id="line2">       2</a> </span>                :                                                                                                                                                                                                                                                   
332<span class="lineNum" id="container3"><a name="3"></a><a href="#3" id="line3">       3</a> </span>                : require ROOTPATH . '/library/oauth2/lib/OAuth2.php';                                                                                                                                                                                               
333<span class="lineNum" id="container4"><a name="4"></a><a href="#4" id="line4">       4</a> </span>                : require ROOTPATH . '/library/oauth2/lib/IOAuth2Storage.php';                                                                                                                                                                                       
334<span class="lineNum" id="container5"><a name="5"></a><a href="#5" id="line5">       5</a> </span>                : require ROOTPATH . '/library/oauth2/lib/IOAuth2GrantCode.php';                                                                                                                                                                                     
335<span class="lineNum" id="container6"><a name="6"></a><a href="#6" id="line6">       6</a> </span>                : require ROOTPATH . '/library/oauth2/lib/IOAuth2RefreshTokens.php';                                                                                                                                                                                 
336<span class="lineNum" id="container7"><a name="7"></a><a href="#7" id="line7">       7</a> </span>                :                                                                                                                                                                                                                                                   
337<span class="lineNum" id="container8"><a name="8"></a><a href="#8" id="line8">       8</a> </span>                : require ROOTPATH . '/library/oauth2/lib/IOAuth2GrantUser.php';                                                                                                                                                                                     
338<span class="lineNum" id="container9"><a name="9"></a><a href="#9" id="line9">       9</a> </span>                :                                                                                                                                                                                                                                                   
339<span class="lineNum" id="container10"><a name="10"></a><a href="#10" id="line10">      10</a> </span>                :                                                                                                                                                                                                                                                   
340<span class="lineNum" id="container11"><a name="11"></a><a href="#11" id="line11">      11</a> </span>                : class OAuth2StorageUserCredential implements IOAuth2GrantUser, IOAuth2RefreshTokens {                                                                                                                                                             
341<span class="lineNum" id="container12"><a name="12"></a><a href="#12" id="line12">      12</a> </span>                :                                                                                                                                                                                                                                                   
342<span class="lineNum" id="container13"><a name="13"></a><a href="#13" id="line13">      13</a> </span>                :     public function checkUserCredentials($client_id, $username, $password) {                                                                                                                                                                       
343<span class="lineNum" id="container14"><a name="14"></a><a href="#14" id="line14">      14</a> </span>                :                                                                                                                                                                                                                                                   
344<span class="lineNum" id="container15"><a name="15"></a><a href="#15" id="line15">      15</a> </span>                :         //Authentica no LDAP                                                                                                                                                                                                                       
345<span class="lineNum" id="container16"><a name="16"></a><a href="#16" id="line16">      16</a> </span><span class="lineCov">              2 :         $usuario =  Controller::find(array('concept'=&gt;'user' , 'service' =&gt; 'OpenLDAP'), false , array('filter' =&gt; array('AND', array('=' , 'uid' , $username ), array('=' , 'password', '{md5}' . base64_encode(pack(&quot;H*&quot;,md5($password))))  ) ));</span>
346<span class="lineNum" id="container17"><a name="17"></a><a href="#17" id="line17">      17</a> </span>                :                                                                                                                                                                                                                                                   
347<span class="lineNum" id="container18"><a name="18"></a><a href="#18" id="line18">      18</a> </span><span class="lineCov">              2 :         if(isset($usuario[0]['id']))                                                                                                                                                                                                               </span>
348<span class="lineNum" id="container19"><a name="19"></a><a href="#19" id="line19">      19</a> </span><span class="lineCov">              2 :         {                                                                                                                                                                                                                                          </span>
349<span class="lineNum" id="container20"><a name="20"></a><a href="#20" id="line20">      20</a> </span><span class="lineCov">              1 :             return array('scope' =&gt; 'all' , 'user_id' =&gt; $usuario[0]['id']);                                                                                                                                                                       </span>
350<span class="lineNum" id="container21"><a name="21"></a><a href="#21" id="line21">      21</a> </span>                :         }                                                                                                                                                                                                                                         
351<span class="lineNum" id="container22"><a name="22"></a><a href="#22" id="line22">      22</a> </span>                :                                                                                                                                                                                                                                                   
352<span class="lineNum" id="container23"><a name="23"></a><a href="#23" id="line23">      23</a> </span><span class="lineCov">              1 :         return false;                                                                                                                                                                                                                              </span>
353<span class="lineNum" id="container24"><a name="24"></a><a href="#24" id="line24">      24</a> </span>                :     }                                                                                                                                                                                                                                             
354<span class="lineNum" id="container25"><a name="25"></a><a href="#25" id="line25">      25</a> </span>                :                                                                                                                                                                                                                                                   
355<span class="lineNum" id="container26"><a name="26"></a><a href="#26" id="line26">      26</a> </span>                :     /**                                                                                                                                                                                                                                           
356<span class="lineNum" id="container27"><a name="27"></a><a href="#27" id="line27">      27</a> </span>                :      * Make sure that the client credentials is valid.                                                                                                                                                                                             
357<span class="lineNum" id="container28"><a name="28"></a><a href="#28" id="line28">      28</a> </span>                :      *                                                                                                                                                                                                                                             
358<span class="lineNum" id="container29"><a name="29"></a><a href="#29" id="line29">      29</a> </span>                :      * @param $client_id                                                                                                                                                                                                                           
359<span class="lineNum" id="container30"><a name="30"></a><a href="#30" id="line30">      30</a> </span>                :      * Client identifier to be check with.                                                                                                                                                                                                         
360<span class="lineNum" id="container31"><a name="31"></a><a href="#31" id="line31">      31</a> </span>                :      * @param $client_secret                                                                                                                                                                                                                       
361<span class="lineNum" id="container32"><a name="32"></a><a href="#32" id="line32">      32</a> </span>                :      * (optional) If a secret is required, check that they've given the right one.                                                                                                                                                                 
362<span class="lineNum" id="container33"><a name="33"></a><a href="#33" id="line33">      33</a> </span>                :      *                                                                                                                                                                                                                                             
363<span class="lineNum" id="container34"><a name="34"></a><a href="#34" id="line34">      34</a> </span>                :      * @return                                                                                                                                                                                                                                     
364<span class="lineNum" id="container35"><a name="35"></a><a href="#35" id="line35">      35</a> </span>                :      * TRUE if the client credentials are valid, and MUST return FALSE if it isn't.                                                                                                                                                               
365<span class="lineNum" id="container36"><a name="36"></a><a href="#36" id="line36">      36</a> </span>                :      * @endcode                                                                                                                                                                                                                                   
366<span class="lineNum" id="container37"><a name="37"></a><a href="#37" id="line37">      37</a> </span>                :      *                                                                                                                                                                                                                                             
367<span class="lineNum" id="container38"><a name="38"></a><a href="#38" id="line38">      38</a> </span>                :      * @see http://tools.ietf.org/html/draft-ietf-oauth-v2-20#section-3.1                                                                                                                                                                         
368<span class="lineNum" id="container39"><a name="39"></a><a href="#39" id="line39">      39</a> </span>                :      *                                                                                                                                                                                                                                             
369<span class="lineNum" id="container40"><a name="40"></a><a href="#40" id="line40">      40</a> </span>                :      * @ingroup oauth2_section_3                                                                                                                                                                                                                   
370<span class="lineNum" id="container41"><a name="41"></a><a href="#41" id="line41">      41</a> </span>                :      */                                                                                                                                                                                                                                           
371<span class="lineNum" id="container42"><a name="42"></a><a href="#42" id="line42">      42</a> </span>                :     public function checkClientCredentials($client_id, $client_secret = NULL) {                                                                                                                                                                   
372<span class="lineNum" id="container43"><a name="43"></a><a href="#43" id="line43">      43</a> </span><span class="lineCov">              3 :         if($client_secret == NULL) {                                                                                                                                                                                                               </span>
373<span class="lineNum" id="container44"><a name="44"></a><a href="#44" id="line44">      44</a> </span><span class="lineCov">              1 :             return false;                                                                                                                                                                                                                          </span>
374<span class="lineNum" id="container45"><a name="45"></a><a href="#45" id="line45">      45</a> </span>                :         }                                                                                                                                                                                                                                         
375<span class="lineNum" id="container46"><a name="46"></a><a href="#46" id="line46">      46</a> </span>                :                                                                                                                                                                                                                                                   
376<span class="lineNum" id="container47"><a name="47"></a><a href="#47" id="line47">      47</a> </span><span class="lineCov">              2 :         $res =  Controller::find(array('concept' =&gt; 'oauthCliente'), array('client_secret') , array('filter' =&gt; array('=' , 'client_id' , $client_id)) );                                                                                          </span>
377<span class="lineNum" id="container48"><a name="48"></a><a href="#48" id="line48">      48</a> </span>                :                                                                                                                                                                                                                                                   
378<span class="lineNum" id="container49"><a name="49"></a><a href="#49" id="line49">      49</a> </span><span class="lineCov">              2 :         if(isset($res[0]['client_secret']) &amp;&amp; $res[0]['client_secret'] == $client_secret) {                                                                                                                                                        </span>
379<span class="lineNum" id="container50"><a name="50"></a><a href="#50" id="line50">      50</a> </span><span class="lineCov">              1 :             return true;                                                                                                                                                                                                                           </span>
380<span class="lineNum" id="container51"><a name="51"></a><a href="#51" id="line51">      51</a> </span>                :         }                                                                                                                                                                                                                                         
381<span class="lineNum" id="container52"><a name="52"></a><a href="#52" id="line52">      52</a> </span>                :         else {                                                                                                                                                                                                                                     
382<span class="lineNum" id="container53"><a name="53"></a><a href="#53" id="line53">      53</a> </span><span class="lineCov">              1 :             return false;                                                                                                                                                                                                                          </span>
383<span class="lineNum" id="container54"><a name="54"></a><a href="#54" id="line54">      54</a> </span>                :         }                                                                                                                                                                                                                                         
384<span class="lineNum" id="container55"><a name="55"></a><a href="#55" id="line55">      55</a> </span>                :     }                                                                                                                                                                                                                                             
385<span class="lineNum" id="container56"><a name="56"></a><a href="#56" id="line56">      56</a> </span>                :                                                                                                                                                                                                                                                   
386<span class="lineNum" id="container57"><a name="57"></a><a href="#57" id="line57">      57</a> </span>                :     /**                                                                                                                                                                                                                                           
387<span class="lineNum" id="container58"><a name="58"></a><a href="#58" id="line58">      58</a> </span>                :      * Get client details corresponding client_id.                                                                                                                                                                                                 
388<span class="lineNum" id="container59"><a name="59"></a><a href="#59" id="line59">      59</a> </span>                :      *                                                                                                                                                                                                                                             
389<span class="lineNum" id="container60"><a name="60"></a><a href="#60" id="line60">      60</a> </span>                :      * OAuth says we should store request URIs for each registered client.                                                                                                                                                                         
390<span class="lineNum" id="container61"><a name="61"></a><a href="#61" id="line61">      61</a> </span>                :      * Implement this function to grab the stored URI for a given client id.                                                                                                                                                                       
391<span class="lineNum" id="container62"><a name="62"></a><a href="#62" id="line62">      62</a> </span>                :      *                                                                                                                                                                                                                                             
392<span class="lineNum" id="container63"><a name="63"></a><a href="#63" id="line63">      63</a> </span>                :      * @param $client_id                                                                                                                                                                                                                           
393<span class="lineNum" id="container64"><a name="64"></a><a href="#64" id="line64">      64</a> </span>                :      * Client identifier to be check with.                                                                                                                                                                                                         
394<span class="lineNum" id="container65"><a name="65"></a><a href="#65" id="line65">      65</a> </span>                :      *                                                                                                                                                                                                                                             
395<span class="lineNum" id="container66"><a name="66"></a><a href="#66" id="line66">      66</a> </span>                :      * @return array                                                                                                                                                                                                                               
396<span class="lineNum" id="container67"><a name="67"></a><a href="#67" id="line67">      67</a> </span>                :      * Client details. Only mandatory item is the &quot;registered redirect URI&quot;, and MUST                                                                                                                                                             
397<span class="lineNum" id="container68"><a name="68"></a><a href="#68" id="line68">      68</a> </span>                :      * return FALSE if the given client does not exist or is invalid.                                                                                                                                                                             
398<span class="lineNum" id="container69"><a name="69"></a><a href="#69" id="line69">      69</a> </span>                :      *                                                                                                                                                                                                                                             
399<span class="lineNum" id="container70"><a name="70"></a><a href="#70" id="line70">      70</a> </span>                :      * @ingroup oauth2_section_4                                                                                                                                                                                                                   
400<span class="lineNum" id="container71"><a name="71"></a><a href="#71" id="line71">      71</a> </span>                :      */                                                                                                                                                                                                                                           
401<span class="lineNum" id="container72"><a name="72"></a><a href="#72" id="line72">      72</a> </span>                :     public function getClientDetails($client_id) {                                                                                                                                                                                                 
402<span class="lineNum" id="container73"><a name="73"></a><a href="#73" id="line73">      73</a> </span><span class="lineCov">              2 :         $res =  Controller::find(array('concept' =&gt; 'oauthCliente'), array('redirect_uri') , array('filter' =&gt; array('=' , 'client_id' , $client_id)));                                                                                            </span>
403<span class="lineNum" id="container74"><a name="74"></a><a href="#74" id="line74">      74</a> </span><span class="lineCov">              2 :         if(isset($res[0]['redirect_uri'])) {                                                                                                                                                                                                       </span>
404<span class="lineNum" id="container75"><a name="75"></a><a href="#75" id="line75">      75</a> </span><span class="lineCov">              1 :             return $res[0]['redirect_uri'];                                                                                                                                                                                                        </span>
405<span class="lineNum" id="container76"><a name="76"></a><a href="#76" id="line76">      76</a> </span>                :         }                                                                                                                                                                                                                                         
406<span class="lineNum" id="container77"><a name="77"></a><a href="#77" id="line77">      77</a> </span>                :         else {                                                                                                                                                                                                                                     
407<span class="lineNum" id="container78"><a name="78"></a><a href="#78" id="line78">      78</a> </span><span class="lineCov">              1 :             return false;                                                                                                                                                                                                                          </span>
408<span class="lineNum" id="container79"><a name="79"></a><a href="#79" id="line79">      79</a> </span>                :         }                                                                                                                                                                                                                                         
409<span class="lineNum" id="container80"><a name="80"></a><a href="#80" id="line80">      80</a> </span>                :     }                                                                                                                                                                                                                                             
410<span class="lineNum" id="container81"><a name="81"></a><a href="#81" id="line81">      81</a> </span>                :                                                                                                                                                                                                                                                   
411<span class="lineNum" id="container82"><a name="82"></a><a href="#82" id="line82">      82</a> </span>                :     /**                                                                                                                                                                                                                                           
412<span class="lineNum" id="container83"><a name="83"></a><a href="#83" id="line83">      83</a> </span>                :      * Look up the supplied oauth_token from storage.                                                                                                                                                                                             
413<span class="lineNum" id="container84"><a name="84"></a><a href="#84" id="line84">      84</a> </span>                :      *                                                                                                                                                                                                                                             
414<span class="lineNum" id="container85"><a name="85"></a><a href="#85" id="line85">      85</a> </span>                :      * We need to retrieve access token data as we create and verify tokens.                                                                                                                                                                       
415<span class="lineNum" id="container86"><a name="86"></a><a href="#86" id="line86">      86</a> </span>                :      *                                                                                                                                                                                                                                             
416<span class="lineNum" id="container87"><a name="87"></a><a href="#87" id="line87">      87</a> </span>                :      * @param $oauth_token                                                                                                                                                                                                                         
417<span class="lineNum" id="container88"><a name="88"></a><a href="#88" id="line88">      88</a> </span>                :      * oauth_token to be check with.                                                                                                                                                                                                               
418<span class="lineNum" id="container89"><a name="89"></a><a href="#89" id="line89">      89</a> </span>                :      *                                                                                                                                                                                                                                             
419<span class="lineNum" id="container90"><a name="90"></a><a href="#90" id="line90">      90</a> </span>                :      * @return                                                                                                                                                                                                                                     
420<span class="lineNum" id="container91"><a name="91"></a><a href="#91" id="line91">      91</a> </span>                :      * An associative array as below, and return NULL if the supplied oauth_token                                                                                                                                                                 
421<span class="lineNum" id="container92"><a name="92"></a><a href="#92" id="line92">      92</a> </span>                :      * is invalid:                                                                                                                                                                                                                                 
422<span class="lineNum" id="container93"><a name="93"></a><a href="#93" id="line93">      93</a> </span>                :      * - client_id: Stored client identifier.                                                                                                                                                                                                     
423<span class="lineNum" id="container94"><a name="94"></a><a href="#94" id="line94">      94</a> </span>                :      * - expires: Stored expiration in unix timestamp.                                                                                                                                                                                             
424<span class="lineNum" id="container95"><a name="95"></a><a href="#95" id="line95">      95</a> </span>                :      * - scope: (optional) Stored scope values in space-separated string.                                                                                                                                                                         
425<span class="lineNum" id="container96"><a name="96"></a><a href="#96" id="line96">      96</a> </span>                :      *                                                                                                                                                                                                                                             
426<span class="lineNum" id="container97"><a name="97"></a><a href="#97" id="line97">      97</a> </span>                :      * @ingroup oauth2_section_7                                                                                                                                                                                                                   
427<span class="lineNum" id="container98"><a name="98"></a><a href="#98" id="line98">      98</a> </span>                :      */                                                                                                                                                                                                                                           
428<span class="lineNum" id="container99"><a name="99"></a><a href="#99" id="line99">      99</a> </span>                :     public function getAccessToken($oauth_token) {                                                                                                                                                                                                 
429<span class="lineNum" id="container100"><a name="100"></a><a href="#100" id="line100">     100</a> </span><span class="lineCov">              2 :         return $this-&gt;getToken($oauth_token, false);                                                                                                                                                                                               </span>
430<span class="lineNum" id="container101"><a name="101"></a><a href="#101" id="line101">     101</a> </span>                :     }                                                                                                                                                                                                                                             
431<span class="lineNum" id="container102"><a name="102"></a><a href="#102" id="line102">     102</a> </span>                :                                                                                                                                                                                                                                                   
432<span class="lineNum" id="container103"><a name="103"></a><a href="#103" id="line103">     103</a> </span>                :     /**                                                                                                                                                                                                                                           
433<span class="lineNum" id="container104"><a name="104"></a><a href="#104" id="line104">     104</a> </span>                :      * Take the provided refresh token values and store them somewhere.                                                                                                                                                                           
434<span class="lineNum" id="container105"><a name="105"></a><a href="#105" id="line105">     105</a> </span>                :      *                                                                                                                                                                                                                                             
435<span class="lineNum" id="container106"><a name="106"></a><a href="#106" id="line106">     106</a> </span>                :      * This function should be the storage counterpart to getRefreshToken().                                                                                                                                                                       
436<span class="lineNum" id="container107"><a name="107"></a><a href="#107" id="line107">     107</a> </span>                :      *                                                                                                                                                                                                                                             
437<span class="lineNum" id="container108"><a name="108"></a><a href="#108" id="line108">     108</a> </span>                :      * If storage fails for some reason, we're not currently checking for                                                                                                                                                                         
438<span class="lineNum" id="container109"><a name="109"></a><a href="#109" id="line109">     109</a> </span>                :      * any sort of success/failure, so you should bail out of the script                                                                                                                                                                           
439<span class="lineNum" id="container110"><a name="110"></a><a href="#110" id="line110">     110</a> </span>                :      * and provide a descriptive fail message.                                                                                                                                                                                                     
440<span class="lineNum" id="container111"><a name="111"></a><a href="#111" id="line111">     111</a> </span>                :      *                                                                                                                                                                                                                                             
441<span class="lineNum" id="container112"><a name="112"></a><a href="#112" id="line112">     112</a> </span>                :      * Required for OAuth2::GRANT_TYPE_REFRESH_TOKEN.                                                                                                                                                                                             
442<span class="lineNum" id="container113"><a name="113"></a><a href="#113" id="line113">     113</a> </span>                :      *                                                                                                                                                                                                                                             
443<span class="lineNum" id="container114"><a name="114"></a><a href="#114" id="line114">     114</a> </span>                :      * @param $refresh_token                                                                                                                                                                                                                       
444<span class="lineNum" id="container115"><a name="115"></a><a href="#115" id="line115">     115</a> </span>                :      * Refresh token to be stored.                                                                                                                                                                                                                 
445<span class="lineNum" id="container116"><a name="116"></a><a href="#116" id="line116">     116</a> </span>                :      * @param $client_id                                                                                                                                                                                                                           
446<span class="lineNum" id="container117"><a name="117"></a><a href="#117" id="line117">     117</a> </span>                :      * Client identifier to be stored.                                                                                                                                                                                                             
447<span class="lineNum" id="container118"><a name="118"></a><a href="#118" id="line118">     118</a> </span>                :      * @param $expires                                                                                                                                                                                                                             
448<span class="lineNum" id="container119"><a name="119"></a><a href="#119" id="line119">     119</a> </span>                :      * expires to be stored.                                                                                                                                                                                                                       
449<span class="lineNum" id="container120"><a name="120"></a><a href="#120" id="line120">     120</a> </span>                :      * @param $scope                                                                                                                                                                                                                               
450<span class="lineNum" id="container121"><a name="121"></a><a href="#121" id="line121">     121</a> </span>                :      * (optional) Scopes to be stored in space-separated string.                                                                                                                                                                                   
451<span class="lineNum" id="container122"><a name="122"></a><a href="#122" id="line122">     122</a> </span>                :      *                                                                                                                                                                                                                                             
452<span class="lineNum" id="container123"><a name="123"></a><a href="#123" id="line123">     123</a> </span>                :      * @ingroup oauth2_section_6                                                                                                                                                                                                                   
453<span class="lineNum" id="container124"><a name="124"></a><a href="#124" id="line124">     124</a> </span>                :      */                                                                                                                                                                                                                                           
454<span class="lineNum" id="container125"><a name="125"></a><a href="#125" id="line125">     125</a> </span>                :     public function setRefreshToken($refresh_token, $client_id, $user_id, $expires, $scope = NULL) {                                                                                                                                               
455<span class="lineNum" id="container126"><a name="126"></a><a href="#126" id="line126">     126</a> </span>                :                                                                                                                                                                                                                                                   
456<span class="lineNum" id="container127"><a name="127"></a><a href="#127" id="line127">     127</a> </span><span class="lineCov">             12 :         $data = array();                                                                                                                                                                                                                           </span>
457<span class="lineNum" id="container128"><a name="128"></a><a href="#128" id="line128">     128</a> </span><span class="lineCov">             12 :         $data['refresh_token']  = $refresh_token;                                                                                                                                                                                                  </span>
458<span class="lineNum" id="container129"><a name="129"></a><a href="#129" id="line129">     129</a> </span><span class="lineCov">             12 :         $data['client_id'] = $client_id;                                                                                                                                                                                                           </span>
459<span class="lineNum" id="container130"><a name="130"></a><a href="#130" id="line130">     130</a> </span><span class="lineCov">             12 :         $data['user_id'] = $user_id;                                                                                                                                                                                                               </span>
460<span class="lineNum" id="container131"><a name="131"></a><a href="#131" id="line131">     131</a> </span><span class="lineCov">             12 :         $data['expires'] = $expires;                                                                                                                                                                                                               </span>
461<span class="lineNum" id="container132"><a name="132"></a><a href="#132" id="line132">     132</a> </span><span class="lineCov">             12 :         $data['scope'] = $scope;                                                                                                                                                                                                                   </span>
462<span class="lineNum" id="container133"><a name="133"></a><a href="#133" id="line133">     133</a> </span>                :                                                                                                                                                                                                                                                   
463<span class="lineNum" id="container134"><a name="134"></a><a href="#134" id="line134">     134</a> </span><span class="lineCov">             12 :             Controller::create(array('concept' =&gt; 'oauthRefreshToken'), $data);                                                                                                                                                                    </span>
464<span class="lineNum" id="container135"><a name="135"></a><a href="#135" id="line135">     135</a> </span><span class="lineCov">             12 :     }                                                                                                                                                                                                                                              </span>
465<span class="lineNum" id="container136"><a name="136"></a><a href="#136" id="line136">     136</a> </span>                :                                                                                                                                                                                                                                                   
466<span class="lineNum" id="container137"><a name="137"></a><a href="#137" id="line137">     137</a> </span>                :     /**                                                                                                                                                                                                                                           
467<span class="lineNum" id="container138"><a name="138"></a><a href="#138" id="line138">     138</a> </span>                :      * Store the supplied access token values to storage.                                                                                                                                                                                         
468<span class="lineNum" id="container139"><a name="139"></a><a href="#139" id="line139">     139</a> </span>                :      *                                                                                                                                                                                                                                             
469<span class="lineNum" id="container140"><a name="140"></a><a href="#140" id="line140">     140</a> </span>                :      * We need to store access token data as we create and verify tokens.                                                                                                                                                                         
470<span class="lineNum" id="container141"><a name="141"></a><a href="#141" id="line141">     141</a> </span>                :      *                                                                                                                                                                                                                                             
471<span class="lineNum" id="container142"><a name="142"></a><a href="#142" id="line142">     142</a> </span>                :      * @param $oauth_token                                                                                                                                                                                                                         
472<span class="lineNum" id="container143"><a name="143"></a><a href="#143" id="line143">     143</a> </span>                :      * oauth_token to be stored.                                                                                                                                                                                                                   
473<span class="lineNum" id="container144"><a name="144"></a><a href="#144" id="line144">     144</a> </span>                :      * @param $client_id                                                                                                                                                                                                                           
474<span class="lineNum" id="container145"><a name="145"></a><a href="#145" id="line145">     145</a> </span>                :      * Client identifier to be stored.                                                                                                                                                                                                             
475<span class="lineNum" id="container146"><a name="146"></a><a href="#146" id="line146">     146</a> </span>                :      * @param $user_id                                                                                                                                                                                                                             
476<span class="lineNum" id="container147"><a name="147"></a><a href="#147" id="line147">     147</a> </span>                :      * User identifier to be stored.                                                                                                                                                                                                               
477<span class="lineNum" id="container148"><a name="148"></a><a href="#148" id="line148">     148</a> </span>                :      * @param $expires                                                                                                                                                                                                                             
478<span class="lineNum" id="container149"><a name="149"></a><a href="#149" id="line149">     149</a> </span>                :      * Expiration to be stored.                                                                                                                                                                                                                   
479<span class="lineNum" id="container150"><a name="150"></a><a href="#150" id="line150">     150</a> </span>                :      * @param $scope                                                                                                                                                                                                                               
480<span class="lineNum" id="container151"><a name="151"></a><a href="#151" id="line151">     151</a> </span>                :      * (optional) Scopes to be stored in space-separated string.                                                                                                                                                                                   
481<span class="lineNum" id="container152"><a name="152"></a><a href="#152" id="line152">     152</a> </span>                :      *                                                                                                                                                                                                                                             
482<span class="lineNum" id="container153"><a name="153"></a><a href="#153" id="line153">     153</a> </span>                :      * @ingroup oauth2_section_4                                                                                                                                                                                                                   
483<span class="lineNum" id="container154"><a name="154"></a><a href="#154" id="line154">     154</a> </span>                :      */                                                                                                                                                                                                                                           
484<span class="lineNum" id="container155"><a name="155"></a><a href="#155" id="line155">     155</a> </span>                :     public function setAccessToken($oauth_token, $client_id, $user_id, $expires, $scope = NULL, $refresh_token) {                                                                                                                                 
485<span class="lineNum" id="container156"><a name="156"></a><a href="#156" id="line156">     156</a> </span>                :                                                                                                                                                                                                                                                   
486<span class="lineNum" id="container157"><a name="157"></a><a href="#157" id="line157">     157</a> </span><span class="lineCov">             12 :         $data = array();                                                                                                                                                                                                                           </span>
487<span class="lineNum" id="container158"><a name="158"></a><a href="#158" id="line158">     158</a> </span><span class="lineCov">             12 :         $data['oauth_token']  = $oauth_token;                                                                                                                                                                                                      </span>
488<span class="lineNum" id="container159"><a name="159"></a><a href="#159" id="line159">     159</a> </span><span class="lineCov">             12 :         $data['client_id'] = $client_id;                                                                                                                                                                                                           </span>
489<span class="lineNum" id="container160"><a name="160"></a><a href="#160" id="line160">     160</a> </span><span class="lineCov">             12 :         $data['user_id'] = $user_id;                                                                                                                                                                                                               </span>
490<span class="lineNum" id="container161"><a name="161"></a><a href="#161" id="line161">     161</a> </span><span class="lineCov">             12 :         $data['expires'] = $expires;                                                                                                                                                                                                               </span>
491<span class="lineNum" id="container162"><a name="162"></a><a href="#162" id="line162">     162</a> </span><span class="lineCov">             12 :         $data['scope'] = $scope;                                                                                                                                                                                                                   </span>
492<span class="lineNum" id="container163"><a name="163"></a><a href="#163" id="line163">     163</a> </span><span class="lineCov">             12 :         $data['refresh_token'] = $refresh_token;                                                                                                                                                                                                   </span>
493<span class="lineNum" id="container164"><a name="164"></a><a href="#164" id="line164">     164</a> </span>                :                                                                                                                                                                                                                                                   
494<span class="lineNum" id="container165"><a name="165"></a><a href="#165" id="line165">     165</a> </span><span class="lineCov">             12 :         Controller::create(array('concept' =&gt; 'oauthToken'), $data);                                                                                                                                                                               </span>
495<span class="lineNum" id="container166"><a name="166"></a><a href="#166" id="line166">     166</a> </span>                :                                                                                                                                                                                                                                                   
496<span class="lineNum" id="container167"><a name="167"></a><a href="#167" id="line167">     167</a> </span><span class="lineCov">             12 :     }                                                                                                                                                                                                                                              </span>
497<span class="lineNum" id="container168"><a name="168"></a><a href="#168" id="line168">     168</a> </span>                :                                                                                                                                                                                                                                                   
498<span class="lineNum" id="container169"><a name="169"></a><a href="#169" id="line169">     169</a> </span>                :     /**                                                                                                                                                                                                                                           
499<span class="lineNum" id="container170"><a name="170"></a><a href="#170" id="line170">     170</a> </span>                :      * Check restricted grant types of corresponding client identifier.                                                                                                                                                                           
500<span class="lineNum" id="container171"><a name="171"></a><a href="#171" id="line171">     171</a> </span>                :      *                                                                                                                                                                                                                                             
501<span class="lineNum" id="container172"><a name="172"></a><a href="#172" id="line172">     172</a> </span>                :      * If you want to restrict clients to certain grant types, override this                                                                                                                                                                       
502<span class="lineNum" id="container173"><a name="173"></a><a href="#173" id="line173">     173</a> </span>                :      * function.                                                                                                                                                                                                                                   
503<span class="lineNum" id="container174"><a name="174"></a><a href="#174" id="line174">     174</a> </span>                :      *                                                                                                                                                                                                                                             
504<span class="lineNum" id="container175"><a name="175"></a><a href="#175" id="line175">     175</a> </span>                :      * @param $client_id                                                                                                                                                                                                                           
505<span class="lineNum" id="container176"><a name="176"></a><a href="#176" id="line176">     176</a> </span>                :      * Client identifier to be check with.                                                                                                                                                                                                         
506<span class="lineNum" id="container177"><a name="177"></a><a href="#177" id="line177">     177</a> </span>                :      * @param $grant_type                                                                                                                                                                                                                         
507<span class="lineNum" id="container178"><a name="178"></a><a href="#178" id="line178">     178</a> </span>                :      * Grant type to be check with, would be one of the values contained in                                                                                                                                                                       
508<span class="lineNum" id="container179"><a name="179"></a><a href="#179" id="line179">     179</a> </span>                :      * OAuth2::GRANT_TYPE_REGEXP.                                                                                                                                                                                                                 
509<span class="lineNum" id="container180"><a name="180"></a><a href="#180" id="line180">     180</a> </span>                :      *                                                                                                                                                                                                                                             
510<span class="lineNum" id="container181"><a name="181"></a><a href="#181" id="line181">     181</a> </span>                :      * @return                                                                                                                                                                                                                                     
511<span class="lineNum" id="container182"><a name="182"></a><a href="#182" id="line182">     182</a> </span>                :      * TRUE if the grant type is supported by this client identifier, and                                                                                                                                                                         
512<span class="lineNum" id="container183"><a name="183"></a><a href="#183" id="line183">     183</a> </span>                :      * FALSE if it isn't.                                                                                                                                                                                                                         
513<span class="lineNum" id="container184"><a name="184"></a><a href="#184" id="line184">     184</a> </span>                :      *                                                                                                                                                                                                                                             
514<span class="lineNum" id="container185"><a name="185"></a><a href="#185" id="line185">     185</a> </span>                :      * @ingroup oauth2_section_4                                                                                                                                                                                                                   
515<span class="lineNum" id="container186"><a name="186"></a><a href="#186" id="line186">     186</a> </span>                :      */                                                                                                                                                                                                                                           
516<span class="lineNum" id="container187"><a name="187"></a><a href="#187" id="line187">     187</a> </span>                :     public function checkRestrictedGrantType($client_id, $grant_type) {                                                                                                                                                                           
517<span class="lineNum" id="container188"><a name="188"></a><a href="#188" id="line188">     188</a> </span>                :         /*TODO: essa função deve verificar se o cliente tem permissao para realizar o login via 'password'                                                                                                                                       
518<span class="lineNum" id="container189"><a name="189"></a><a href="#189" id="line189">     189</a> </span>                :          * deixe para implementar no prox. sprint, quando trataremos de seguranca. Deve-se criar um campo extra no banco para guardar quais tipos                                                                                                 
519<span class="lineNum" id="container190"><a name="190"></a><a href="#190" id="line190">     190</a> </span>                :          * de grant_type o cliente esta autorizado a fazer                                                                                                                                                                                         
520<span class="lineNum" id="container191"><a name="191"></a><a href="#191" id="line191">     191</a> </span>                :         */                                                                                                                                                                                                                                         
521<span class="lineNum" id="container192"><a name="192"></a><a href="#192" id="line192">     192</a> </span>                :                                                                                                                                                                                                                                                   
522<span class="lineNum" id="container193"><a name="193"></a><a href="#193" id="line193">     193</a> </span><span class="lineCov">              1 :         return true;                                                                                                                                                                                                                               </span>
523<span class="lineNum" id="container194"><a name="194"></a><a href="#194" id="line194">     194</a> </span>                :     }                                                                                                                                                                                                                                             
524<span class="lineNum" id="container195"><a name="195"></a><a href="#195" id="line195">     195</a> </span>                :                                                                                                                                                                                                                                                   
525<span class="lineNum" id="container196"><a name="196"></a><a href="#196" id="line196">     196</a> </span>                :     /**                                                                                                                                                                                                                                           
526<span class="lineNum" id="container197"><a name="197"></a><a href="#197" id="line197">     197</a> </span>                :      * Grant refresh access tokens.                                                                                                                                                                                                               
527<span class="lineNum" id="container198"><a name="198"></a><a href="#198" id="line198">     198</a> </span>                :      *                                                                                                                                                                                                                                             
528<span class="lineNum" id="container199"><a name="199"></a><a href="#199" id="line199">     199</a> </span>                :      * Retrieve the stored data for the given refresh token.                                                                                                                                                                                       
529<span class="lineNum" id="container200"><a name="200"></a><a href="#200" id="line200">     200</a> </span>                :      *                                                                                                                                                                                                                                             
530<span class="lineNum" id="container201"><a name="201"></a><a href="#201" id="line201">     201</a> </span>                :      * Required for OAuth2::GRANT_TYPE_REFRESH_TOKEN.                                                                                                                                                                                             
531<span class="lineNum" id="container202"><a name="202"></a><a href="#202" id="line202">     202</a> </span>                :      *                                                                                                                                                                                                                                             
532<span class="lineNum" id="container203"><a name="203"></a><a href="#203" id="line203">     203</a> </span>                :      * @param $refresh_token                                                                                                                                                                                                                       
533<span class="lineNum" id="container204"><a name="204"></a><a href="#204" id="line204">     204</a> </span>                :      * Refresh token to be check with.                                                                                                                                                                                                             
534<span class="lineNum" id="container205"><a name="205"></a><a href="#205" id="line205">     205</a> </span>                :      *                                                                                                                                                                                                                                             
535<span class="lineNum" id="container206"><a name="206"></a><a href="#206" id="line206">     206</a> </span>                :      * @return                                                                                                                                                                                                                                     
536<span class="lineNum" id="container207"><a name="207"></a><a href="#207" id="line207">     207</a> </span>                :      * An associative array as below, and NULL if the refresh_token is                                                                                                                                                                             
537<span class="lineNum" id="container208"><a name="208"></a><a href="#208" id="line208">     208</a> </span>                :      * invalid:                                                                                                                                                                                                                                   
538<span class="lineNum" id="container209"><a name="209"></a><a href="#209" id="line209">     209</a> </span>                :      * - client_id: Stored client identifier.                                                                                                                                                                                                     
539<span class="lineNum" id="container210"><a name="210"></a><a href="#210" id="line210">     210</a> </span>                :      * - expires: Stored expiration unix timestamp.                                                                                                                                                                                               
540<span class="lineNum" id="container211"><a name="211"></a><a href="#211" id="line211">     211</a> </span>                :      * - scope: (optional) Stored scope values in space-separated string.                                                                                                                                                                         
541<span class="lineNum" id="container212"><a name="212"></a><a href="#212" id="line212">     212</a> </span>                :      *                                                                                                                                                                                                                                             
542<span class="lineNum" id="container213"><a name="213"></a><a href="#213" id="line213">     213</a> </span>                :      * @see http://tools.ietf.org/html/draft-ietf-oauth-v2-20#section-6                                                                                                                                                                           
543<span class="lineNum" id="container214"><a name="214"></a><a href="#214" id="line214">     214</a> </span>                :      *                                                                                                                                                                                                                                             
544<span class="lineNum" id="container215"><a name="215"></a><a href="#215" id="line215">     215</a> </span>                :      * @ingroup oauth2_section_6                                                                                                                                                                                                                   
545<span class="lineNum" id="container216"><a name="216"></a><a href="#216" id="line216">     216</a> </span>                :      */                                                                                                                                                                                                                                           
546<span class="lineNum" id="container217"><a name="217"></a><a href="#217" id="line217">     217</a> </span>                :     public function getRefreshToken($refresh_token) {                                                                                                                                                                                             
547<span class="lineNum" id="container218"><a name="218"></a><a href="#218" id="line218">     218</a> </span><span class="lineCov">              2 :         return $this-&gt;getToken($refresh_token, true);                                                                                                                                                                                              </span>
548<span class="lineNum" id="container219"><a name="219"></a><a href="#219" id="line219">     219</a> </span>                :     }                                                                                                                                                                                                                                             
549<span class="lineNum" id="container220"><a name="220"></a><a href="#220" id="line220">     220</a> </span>                :                                                                                                                                                                                                                                                   
550<span class="lineNum" id="container221"><a name="221"></a><a href="#221" id="line221">     221</a> </span>                :     /**                                                                                                                                                                                                                                           
551<span class="lineNum" id="container222"><a name="222"></a><a href="#222" id="line222">     222</a> </span>                :      * Expire a used refresh token.                                                                                                                                                                                                               
552<span class="lineNum" id="container223"><a name="223"></a><a href="#223" id="line223">     223</a> </span>                :      *                                                                                                                                                                                                                                             
553<span class="lineNum" id="container224"><a name="224"></a><a href="#224" id="line224">     224</a> </span>                :      * This is not explicitly required in the spec, but is almost implied.                                                                                                                                                                         
554<span class="lineNum" id="container225"><a name="225"></a><a href="#225" id="line225">     225</a> </span>                :      * After granting a new refresh token, the old one is no longer useful and                                                                                                                                                                     
555<span class="lineNum" id="container226"><a name="226"></a><a href="#226" id="line226">     226</a> </span>                :      * so should be forcibly expired in the data store so it can't be used again.                                                                                                                                                                 
556<span class="lineNum" id="container227"><a name="227"></a><a href="#227" id="line227">     227</a> </span>                :      *                                                                                                                                                                                                                                             
557<span class="lineNum" id="container228"><a name="228"></a><a href="#228" id="line228">     228</a> </span>                :      * If storage fails for some reason, we're not currently checking for                                                                                                                                                                         
558<span class="lineNum" id="container229"><a name="229"></a><a href="#229" id="line229">     229</a> </span>                :      * any sort of success/failure, so you should bail out of the script                                                                                                                                                                           
559<span class="lineNum" id="container230"><a name="230"></a><a href="#230" id="line230">     230</a> </span>                :      * and provide a descriptive fail message.                                                                                                                                                                                                     
560<span class="lineNum" id="container231"><a name="231"></a><a href="#231" id="line231">     231</a> </span>                :      *                                                                                                                                                                                                                                             
561<span class="lineNum" id="container232"><a name="232"></a><a href="#232" id="line232">     232</a> </span>                :      * @param $refresh_token                                                                                                                                                                                                                       
562<span class="lineNum" id="container233"><a name="233"></a><a href="#233" id="line233">     233</a> </span>                :      * Refresh token to be expirse.                                                                                                                                                                                                               
563<span class="lineNum" id="container234"><a name="234"></a><a href="#234" id="line234">     234</a> </span>                :      *                                                                                                                                                                                                                                             
564<span class="lineNum" id="container235"><a name="235"></a><a href="#235" id="line235">     235</a> </span>                :      * @ingroup oauth2_section_6                                                                                                                                                                                                                   
565<span class="lineNum" id="container236"><a name="236"></a><a href="#236" id="line236">     236</a> </span>                :      */                                                                                                                                                                                                                                           
566<span class="lineNum" id="container237"><a name="237"></a><a href="#237" id="line237">     237</a> </span>                :     public function unsetRefreshToken($refresh_token) {                                                                                                                                                                                           
567<span class="lineNum" id="container238"><a name="238"></a><a href="#238" id="line238">     238</a> </span><span class="lineCov">             12 :         Controller::delete(                                                                                                                                                                                                                        </span>
568<span class="lineNum" id="container239"><a name="239"></a><a href="#239" id="line239">     239</a> </span><span class="lineCov">             12 :             array('concept' =&gt; 'oauthRefreshToken'),                                                                                                                                                                                               </span>
569<span class="lineNum" id="container240"><a name="240"></a><a href="#240" id="line240">     240</a> </span><span class="lineCov">             12 :             false,                                                                                                                                                                                                                                 </span>
570<span class="lineNum" id="container241"><a name="241"></a><a href="#241" id="line241">     241</a> </span><span class="lineCov">             12 :             array('filter' =&gt; array('=', 'refresh_token', $refresh_token ))                                                                                                                                                                        </span>
571<span class="lineNum" id="container242"><a name="242"></a><a href="#242" id="line242">     242</a> </span><span class="lineCov">             12 :         );                                                                                                                                                                                                                                         </span>
572<span class="lineNum" id="container243"><a name="243"></a><a href="#243" id="line243">     243</a> </span><span class="lineCov">             12 :     }                                                                                                                                                                                                                                              </span>
573<span class="lineNum" id="container244"><a name="244"></a><a href="#244" id="line244">     244</a> </span>                :     public function unsetAccessToken($refresh_token) {                                                                                                                                                                                             
574<span class="lineNum" id="container245"><a name="245"></a><a href="#245" id="line245">     245</a> </span><span class="lineCov">             12 :         Controller::delete(                                                                                                                                                                                                                        </span>
575<span class="lineNum" id="container246"><a name="246"></a><a href="#246" id="line246">     246</a> </span><span class="lineCov">             12 :             array('concept' =&gt; 'oauthToken'),                                                                                                                                                                                                      </span>
576<span class="lineNum" id="container247"><a name="247"></a><a href="#247" id="line247">     247</a> </span><span class="lineCov">             12 :             false,                                                                                                                                                                                                                                 </span>
577<span class="lineNum" id="container248"><a name="248"></a><a href="#248" id="line248">     248</a> </span><span class="lineCov">             12 :             array('filter' =&gt; array('=', 'oauth_token', $refresh_token ))                                                                                                                                                                          </span>
578<span class="lineNum" id="container249"><a name="249"></a><a href="#249" id="line249">     249</a> </span><span class="lineCov">             12 :         );                                                                                                                                                                                                                                         </span>
579<span class="lineNum" id="container250"><a name="250"></a><a href="#250" id="line250">     250</a> </span><span class="lineCov">             12 :     }                                                                                                                                                                                                                                              </span>
580<span class="lineNum" id="container251"><a name="251"></a><a href="#251" id="line251">     251</a> </span>                :                                                                                                                                                                                                                                                   
581<span class="lineNum" id="container252"><a name="252"></a><a href="#252" id="line252">     252</a> </span>                :     /**                                                                                                                                                                                                                                           
582<span class="lineNum" id="container253"><a name="253"></a><a href="#253" id="line253">     253</a> </span>                :      * Retrieves an access or refresh token.                                                                                                                                                                                                       
583<span class="lineNum" id="container254"><a name="254"></a><a href="#254" id="line254">     254</a> </span>                :      *                                                                                                                                                                                                                                             
584<span class="lineNum" id="container255"><a name="255"></a><a href="#255" id="line255">     255</a> </span>                :      * @param string $token                                                                                                                                                                                                                       
585<span class="lineNum" id="container256"><a name="256"></a><a href="#256" id="line256">     256</a> </span>                :      * @param bool $refresh                                                                                                                                                                                                                       
586<span class="lineNum" id="container257"><a name="257"></a><a href="#257" id="line257">     257</a> </span>                :      */                                                                                                                                                                                                                                           
587<span class="lineNum" id="container258"><a name="258"></a><a href="#258" id="line258">     258</a> </span>                :     protected function getToken($token, $isRefresh = true) {                                                                                                                                                                                       
588<span class="lineNum" id="container259"><a name="259"></a><a href="#259" id="line259">     259</a> </span>                :                                                                                                                                                                                                                                                   
589<span class="lineNum" id="container260"><a name="260"></a><a href="#260" id="line260">     260</a> </span><span class="lineCov">              4 :         $tokenConcept = $isRefresh ? 'oauthRefreshToken' : 'oauthToken';                                                                                                                                                                           </span>
590<span class="lineNum" id="container261"><a name="261"></a><a href="#261" id="line261">     261</a> </span><span class="lineCov">              4 :         $filter =  $isRefresh ? 'refresh_token' : 'oauth_token';                                                                                                                                                                                   </span>
591<span class="lineNum" id="container262"><a name="262"></a><a href="#262" id="line262">     262</a> </span>                :                                                                                                                                                                                                                                                   
592<span class="lineNum" id="container263"><a name="263"></a><a href="#263" id="line263">     263</a> </span><span class="lineCov">              4 :         $res = Controller::find(                                                                                                                                                                                                                   </span>
593<span class="lineNum" id="container264"><a name="264"></a><a href="#264" id="line264">     264</a> </span><span class="lineCov">              4 :             array('concept' =&gt; $tokenConcept),                                                                                                                                                                                                     </span>
594<span class="lineNum" id="container265"><a name="265"></a><a href="#265" id="line265">     265</a> </span><span class="lineCov">              4 :             false,                                                                                                                                                                                                                                 </span>
595<span class="lineNum" id="container266"><a name="266"></a><a href="#266" id="line266">     266</a> </span><span class="lineCov">              4 :             array('filter' =&gt; array('=' , $filter , $token))                                                                                                                                                                                       </span>
596<span class="lineNum" id="container267"><a name="267"></a><a href="#267" id="line267">     267</a> </span><span class="lineCov">              4 :         );                                                                                                                                                                                                                                         </span>
597<span class="lineNum" id="container268"><a name="268"></a><a href="#268" id="line268">     268</a> </span>                :                                                                                                                                                                                                                                                   
598<span class="lineNum" id="container269"><a name="269"></a><a href="#269" id="line269">     269</a> </span>                :         /*return (!empty($res[0]))? $res[0] : false;*/                                                                                                                                                                                             
599<span class="lineNum" id="container270"><a name="270"></a><a href="#270" id="line270">     270</a> </span><span class="lineCov">              4 :         if(!empty($res[0])) {                                                                                                                                                                                                                      </span>
600<span class="lineNum" id="container271"><a name="271"></a><a href="#271" id="line271">     271</a> </span><span class="lineCov">              2 :             return $res[0];                                                                                                                                                                                                                        </span>
601<span class="lineNum" id="container272"><a name="272"></a><a href="#272" id="line272">     272</a> </span>                :         }                                                                                                                                                                                                                                         
602<span class="lineNum" id="container273"><a name="273"></a><a href="#273" id="line273">     273</a> </span>                :         else {                                                                                                                                                                                                                                     
603<span class="lineNum" id="container274"><a name="274"></a><a href="#274" id="line274">     274</a> </span><span class="lineCov">              2 :             return false;                                                                                                                                                                                                                          </span>
604<span class="lineNum" id="container275"><a name="275"></a><a href="#275" id="line275">     275</a> </span>                :         }                                                                                                                                                                                                                                         
605<span class="lineNum" id="container276"><a name="276"></a><a href="#276" id="line276">     276</a> </span>                :     }                                                                                                                                                                                                                                             
606<span class="lineNum" id="container277"><a name="277"></a><a href="#277" id="line277">     277</a> </span>                : }                                                                                                                                                                                                                                                 
607<span class="lineNum" id="container278"><a name="278"></a><a href="#278" id="line278">     278</a> </span>                :                                                                                                                                                                                                                                                   
608<span class="lineNum" id="container279"><a name="279"></a><a href="#279" id="line279">     279</a> </span>                :                                                                                                                                                                                                                                                   
609
610</pre>
611        </td>
612      </tr>
613    </table>
614
615    <table width="100%" border="0" cellspacing="0" cellpadding="0">
616      <tr><td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td></tr>
617      <tr><td class="versionInfo">Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 1.1.2</a> using <a href="http://www.php.net/" target="_top">PHP 5.3.10</a> and PHPUnit 3.6.10 at Thu Mar 29 11:41:57 BRT 2012.</td></tr>
618    </table>
619
620    <br />
621
622    <script type="text/javascript">
623      //<![CDATA[
624      $E = YAHOO.util.Event;
625      YAHOO.namespace("phpunit.container");
626      YAHOO.phpunit.container.panelsData = {
627        "panel16": {
628          "header": "2 tests cover line 16",
629          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li></ul>",
630          "footer": ""
631        },
632        "panel18": {
633          "header": "2 tests cover line 18",
634          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li></ul>",
635          "footer": ""
636        },
637        "panel19": {
638          "header": "2 tests cover line 19",
639          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li></ul>",
640          "footer": ""
641        },
642        "panel20": {
643          "header": "1 test covers line 20",
644          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li></ul>",
645          "footer": ""
646        },
647        "panel23": {
648          "header": "1 test covers line 23",
649          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li></ul>",
650          "footer": ""
651        },
652        "panel43": {
653          "header": "3 tests cover line 43",
654          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li></ul>",
655          "footer": ""
656        },
657        "panel44": {
658          "header": "1 test covers line 44",
659          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li></ul>",
660          "footer": ""
661        },
662        "panel47": {
663          "header": "2 tests cover line 47",
664          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li></ul>",
665          "footer": ""
666        },
667        "panel49": {
668          "header": "2 tests cover line 49",
669          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li></ul>",
670          "footer": ""
671        },
672        "panel50": {
673          "header": "1 test covers line 50",
674          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li></ul>",
675          "footer": ""
676        },
677        "panel53": {
678          "header": "1 test covers line 53",
679          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li></ul>",
680          "footer": ""
681        },
682        "panel73": {
683          "header": "2 tests cover line 73",
684          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li></ul>",
685          "footer": ""
686        },
687        "panel74": {
688          "header": "2 tests cover line 74",
689          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li></ul>",
690          "footer": ""
691        },
692        "panel75": {
693          "header": "1 test covers line 75",
694          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li></ul>",
695          "footer": ""
696        },
697        "panel78": {
698          "header": "1 test covers line 78",
699          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li></ul>",
700          "footer": ""
701        },
702        "panel100": {
703          "header": "2 tests cover line 100",
704          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li></ul>",
705          "footer": ""
706        },
707        "panel127": {
708          "header": "12 tests cover line 127",
709          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
710          "footer": ""
711        },
712        "panel128": {
713          "header": "12 tests cover line 128",
714          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
715          "footer": ""
716        },
717        "panel129": {
718          "header": "12 tests cover line 129",
719          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
720          "footer": ""
721        },
722        "panel130": {
723          "header": "12 tests cover line 130",
724          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
725          "footer": ""
726        },
727        "panel131": {
728          "header": "12 tests cover line 131",
729          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
730          "footer": ""
731        },
732        "panel132": {
733          "header": "12 tests cover line 132",
734          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
735          "footer": ""
736        },
737        "panel134": {
738          "header": "12 tests cover line 134",
739          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
740          "footer": ""
741        },
742        "panel135": {
743          "header": "12 tests cover line 135",
744          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
745          "footer": ""
746        },
747        "panel157": {
748          "header": "12 tests cover line 157",
749          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
750          "footer": ""
751        },
752        "panel158": {
753          "header": "12 tests cover line 158",
754          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
755          "footer": ""
756        },
757        "panel159": {
758          "header": "12 tests cover line 159",
759          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
760          "footer": ""
761        },
762        "panel160": {
763          "header": "12 tests cover line 160",
764          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
765          "footer": ""
766        },
767        "panel161": {
768          "header": "12 tests cover line 161",
769          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
770          "footer": ""
771        },
772        "panel162": {
773          "header": "12 tests cover line 162",
774          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
775          "footer": ""
776        },
777        "panel163": {
778          "header": "12 tests cover line 163",
779          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
780          "footer": ""
781        },
782        "panel165": {
783          "header": "12 tests cover line 165",
784          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
785          "footer": ""
786        },
787        "panel167": {
788          "header": "12 tests cover line 167",
789          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
790          "footer": ""
791        },
792        "panel193": {
793          "header": "1 test covers line 193",
794          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
795          "footer": ""
796        },
797        "panel218": {
798          "header": "2 tests cover line 218",
799          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li></ul>",
800          "footer": ""
801        },
802        "panel238": {
803          "header": "12 tests cover line 238",
804          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
805          "footer": ""
806        },
807        "panel239": {
808          "header": "12 tests cover line 239",
809          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
810          "footer": ""
811        },
812        "panel240": {
813          "header": "12 tests cover line 240",
814          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
815          "footer": ""
816        },
817        "panel241": {
818          "header": "12 tests cover line 241",
819          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
820          "footer": ""
821        },
822        "panel242": {
823          "header": "12 tests cover line 242",
824          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
825          "footer": ""
826        },
827        "panel243": {
828          "header": "12 tests cover line 243",
829          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
830          "footer": ""
831        },
832        "panel245": {
833          "header": "12 tests cover line 245",
834          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
835          "footer": ""
836        },
837        "panel246": {
838          "header": "12 tests cover line 246",
839          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
840          "footer": ""
841        },
842        "panel247": {
843          "header": "12 tests cover line 247",
844          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
845          "footer": ""
846        },
847        "panel248": {
848          "header": "12 tests cover line 248",
849          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
850          "footer": ""
851        },
852        "panel249": {
853          "header": "12 tests cover line 249",
854          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
855          "footer": ""
856        },
857        "panel250": {
858          "header": "12 tests cover line 250",
859          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckUserCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentials</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testCheckClientCredentialsWithoutClientSecret</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetails</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetClientDetailsFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testcheckRestrictedGrantType</li></ul>",
860          "footer": ""
861        },
862        "panel260": {
863          "header": "4 tests cover line 260",
864          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li></ul>",
865          "footer": ""
866        },
867        "panel261": {
868          "header": "4 tests cover line 261",
869          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li></ul>",
870          "footer": ""
871        },
872        "panel263": {
873          "header": "4 tests cover line 263",
874          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li></ul>",
875          "footer": ""
876        },
877        "panel264": {
878          "header": "4 tests cover line 264",
879          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li></ul>",
880          "footer": ""
881        },
882        "panel265": {
883          "header": "4 tests cover line 265",
884          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li></ul>",
885          "footer": ""
886        },
887        "panel266": {
888          "header": "4 tests cover line 266",
889          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li></ul>",
890          "footer": ""
891        },
892        "panel267": {
893          "header": "4 tests cover line 267",
894          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li></ul>",
895          "footer": ""
896        },
897        "panel270": {
898          "header": "4 tests cover line 270",
899          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li></ul>",
900          "footer": ""
901        },
902        "panel271": {
903          "header": "2 tests cover line 271",
904          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessToken</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshToken</li></ul>",
905          "footer": ""
906        },
907        "panel274": {
908          "header": "2 tests cover line 274",
909          "body": "<ul><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetAccessTokenFalse</li><li class=\"testPassed\">OAuth2StorageUserCredentialTest::testGetRefreshTokenFalse</li></ul>",
910          "footer": ""
911        },
912      "dummy": ""
913      };
914
915      YAHOO.phpunit.container.prepare = function (e) {
916        var elemId = $E.getTarget(e).id;
917        var line = elemId.substr(4);
918        var panelId = "panel" + line;
919        var containerId = "container" + line;
920
921        var panelData = YAHOO.phpunit.container.panelsData[panelId];
922
923        var panel = new YAHOO.widget.Panel(panelId, { visible:false, draggable:false, close:true } );
924        panel.setHeader(panelData["header"]);
925        panel.setBody(panelData["body"]);
926        panel.setFooter(panelData["footer"]);
927        panel.render(containerId);
928
929        $E.addListener(elemId, "click", panel.show, panel, true);
930        $E.removeListener(elemId, "mouseover");
931      };
932
933      function init() {
934        var ypc = YAHOO.phpunit.container;
935        for (var panelId in ypc.panelsData) {
936          var elemId = "line" + panelId.substr(5);
937          $E.addListener(elemId, "mouseover", ypc.prepare);
938        }
939      }
940
941      $E.addListener(window, "load", init);
942      //]]>
943    </script>
944  </body>
945</html>
Note: See TracBrowser for help on using the repository browser.