[ Index ]

PHP Cross Reference of moodle-2.8

title

Body

[close]

/lib/google/Google/Auth/ -> LoginTicket.php (source)

   1  <?php
   2  /*
   3   * Copyright 2011 Google Inc.
   4   *
   5   * Licensed under the Apache License, Version 2.0 (the "License");
   6   * you may not use this file except in compliance with the License.
   7   * You may obtain a copy of the License at
   8   *
   9   *     http://www.apache.org/licenses/LICENSE-2.0
  10   *
  11   * Unless required by applicable law or agreed to in writing, software
  12   * distributed under the License is distributed on an "AS IS" BASIS,
  13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14   * See the License for the specific language governing permissions and
  15   * limitations under the License.
  16   */
  17  
  18  require_once "Google/Auth/Exception.php";
  19  
  20  /**
  21   * Class to hold information about an authenticated login.
  22   *
  23   * @author Brian Eaton <[email protected]>
  24   */
  25  class Google_Auth_LoginTicket
  26  {
  27    const USER_ATTR = "sub";
  28  
  29    // Information from id token envelope.
  30    private $envelope;
  31  
  32    // Information from id token payload.
  33    private $payload;
  34  
  35    /**
  36     * Creates a user based on the supplied token.
  37     *
  38     * @param string $envelope Header from a verified authentication token.
  39     * @param string $payload Information from a verified authentication token.
  40     */
  41    public function __construct($envelope, $payload)
  42    {
  43      $this->envelope = $envelope;
  44      $this->payload = $payload;
  45    }
  46  
  47    /**
  48     * Returns the numeric identifier for the user.
  49     * @throws Google_Auth_Exception
  50     * @return
  51     */
  52    public function getUserId()
  53    {
  54      if (array_key_exists(self::USER_ATTR, $this->payload)) {
  55        return $this->payload[self::USER_ATTR];
  56      }
  57      throw new Google_Auth_Exception("No user_id in token");
  58    }
  59  
  60    /**
  61     * Returns attributes from the login ticket.  This can contain
  62     * various information about the user session.
  63     * @return array
  64     */
  65    public function getAttributes()
  66    {
  67      return array("envelope" => $this->envelope, "payload" => $this->payload);
  68    }
  69  }


Generated: Fri Nov 28 20:29:05 2014 Cross-referenced by PHPXref 0.7.1