コード例 #1
0
ファイル: Token.php プロジェクト: ao-lab/ao-zend
 /**
  * Este método será utilizado para cria token's.
  *
  * @param array $data Esta é a lista de dados a serem embutidos dentro do token.
  * @param array $crypt Esta é a lista de dados que devem ser criptografados.
  * @return string Este é o Token gerado.
  */
 public static function encode(array $data, array $crypt = [])
 {
     foreach ($crypt as $key) {
         $data[$key] = Ao_Password::crypt($data[$key]);
     }
     $data['time'] = time();
     $data['host'] = filter_input(INPUT_SERVER, 'HTTP_HOST');
     $data['signature'] = Ao_Signature::get($data, KA_APP_KEY_SECRET);
     return base64_encode(self::mess(json_encode($data)));
 }
コード例 #2
0
ファイル: KeroApps.php プロジェクト: ao-lab/ao-zend
 public function getTokenAccess($key, $secret, $authorization, $verifier)
 {
     # define destino da requisição
     $this->http->setUri($this->host . '/oauth/token');
     # prepara parâmetros da requisição
     $data = ['oauth_consumer_key' => $key, 'oauth_timestamp' => time(), 'oauth_nonce' => '', 'oauth_token' => $authorization, 'oauth_verifier' => $verifier, 'oauth_signature_method' => 'HMAC-SHA512'];
     $data['oauth_signature'] = Ao_Signature::get($data, $secret);
     # monta requisição
     $this->http->setMethod('POST')->setParameterPost($data);
     # faz requisição
     try {
         $body = $this->http->request()->getBody();
     } catch (Exception $e) {
         throw new Exception('<b>Falha inesperada</b> ao tentar solicitar o Token de Acesso.');
     }
     # converte "json"
     $token = json_decode($body);
     if (empty($token)) {
         throw new Exception($body);
     }
     # retorna "Token de Acesso"
     return $token->oauth_token;
 }