Войти через Google Apps - PullRequest
       34

Войти через Google Apps

2 голосов
/ 28 марта 2010

Как я могу аутентифицировать своих пользователей через нашу учетную запись Google Apps. Мне также нужен доступ к их электронной почте.

Я прочитал, что Oauth необходим, но я не знаю, правильно ли это.

Я использую PHP.

1 Ответ

0 голосов
/ 28 марта 2010

Я использую этот код в библиотеке, которую я написал, чтобы получить контактную информацию из gmail. http://www.oriontechnologysolutions.com/programming/libgoog_php. Эта функция будет проверять учетную запись и передавать токен аутентификации, используемый для доступа к Службам Google.

    function login() {
        $response = Array();
        if(isset($this->domain))
            $email = $this->username . '@' . $this->domain;
        else
            $email = $this->username;
        $requestString = "service=".$this->service."&Email=".urlencode($email)."&Passwd=".urlencode($this->passwd)."&source=".self::source;

        $c = curl_init();
        curl_setopt($c, CURLOPT_URL, self::loginUrl);
        curl_setopt($c, CURLOPT_POST,   1);
        curl_setopt($c, CURLOPT_POSTFIELDS, $requestString);
        curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);

        $res = curl_exec($c);
        $httpCode = curl_getinfo($c, CURLINFO_HTTP_CODE);
        foreach(explode("\n", $res) as $line) {
            if(strpos($line, "=") != false) {
                gooDebug("Exploding $line\n", 4);
                list($name, $value) = explode("=", $line);
                $response[$name] = $value;
            }
        }
        if($httpCode !=200)
            return($response);

        $this->authTok = $response['Auth'];
        return($this->authTok);
    }
...