蘋果授權登入 App 對接 PHP

2021-10-09 18:01:25 字數 1968 閱讀 6189

<?php

// 引入配置檔案

// 引入jwt/jwk工具類檔案

/** * 蘋果登入相關

*/ /**

* 授權登入資訊賦值

* @param $info

*/public function setauth($info)

/*** 驗證使用者是否正常授權,避免攻擊

* @param $clientuser

* @param object $payload 對應 $this->decodeidentitytoken() 返回值

* @return bool

*/public function verifyuser($clientuser, $payload)

/*** @return object

* @throws exception

*/public function decodeidentitytoken()

/*** the sign in jwt.

** @param string $publickeykid

* @return array

* @throws exception

*/private function fetchpublickey($publickeykid)

$kids = array_column($decodedpublickeys['keys'], 'kid');

$parsedkeydata = $decodedpublickeys['keys'][array_search($publickeykid, $kids)];

$parsedpublickey = jwk::parsekey($parsedkeydata);

$publickeydetails = openssl_pkey_get_details($parsedpublickey);

if (!isset($publickeydetails['key']))

return [

'publickey' => $publickeydetails['key'],

'alg' => $parsedkeydata['alg']];}

/***

** @return mixed

* @throws exception

** 正常返回值示例

* */

public function claims()

$claims = explode('.', $response->id_token)[1];

$claims = json_decode(base64_decode($claims));

return $claims;

}/**

* 生成 client_secret

}

測試示例:

<?php

/** * 蘋果授權登入

* */

/*** 基於jwt的演算法驗證

* @param $authinfo

* @return array

*/public function verifybyjwt($authinfo)

catch (exception $e)

return array();

}/**

* 基於授權碼的驗證

* @param $authinfo

* @return array

*/public function verifybycode($authinfo)

catch (exception $e)

return array();

}}

php 對接微信APP支付

開發前準備 應用簽名和應用包名如何寫,如果你是用apicloud開發的,前端會知道的,具體可參考官方文件 下面我們就可以開始開發了 支付流程 1.先呼叫統一下單api生成預付訂單 2.獲取到prepay id後將引數再次簽名 4.支付成功,非同步 具體看 wxpay是處理支付的 namespace ...

PHP後端處理蘋果內購對接

1 前六步有ios端處理,最終獲取購買憑證 2 post請求,傳送購買憑證receipt data到服務端介面 蘋果內購 param receipt data 購買憑證 必傳 param is test 是否沙盒資料 選填,1是 0否,預設否 return json public function ...

關於vue跨網域名稱對接微信授權認證和APP授權認證

1.請求閘道器介面,獲取使用者授權狀態。2.如果授權過就直接跳轉首頁。這一路上遇到過很多的問題,前端的主要問題就三個 第二個是ajax跨網域名稱請求傳送cookie,一開始以為是cookie木有set進來,後來測試了幾波後發現是跨網域名稱傳送cookie的時候需要對ajax的封裝做處理加上 befo...