APP集成蘋果賬號JWT驗證授權登錄,使用Laravel框架集成
官方文檔:https://developer.apple.com/documentation/sign_in_with_apple
1.首先APP客戶端集成蘋果授權,授權后可以獲取到以下信息(和QQ微信第三方登錄授權類似):
- userID: 用戶唯一標識,該值在同一個開發者賬號下的所有 App 下是一樣的,開發者可以用該唯一標識符與自己后台系統的賬號體系綁定起來
- email: 郵箱,只有第一次授權返回郵箱信息,之后登錄不再返回
- fullName: 用戶名稱,只有第一次授權返回用戶信息,之后登錄不再返回
- identityToken: 授權用戶的JWT憑證
2.安裝拓展包,github: https://github.com/EcoIris/php-signin-apple:
composer require ecoiris/php-signin-apple
3.LoginController控制器中集成:
namespace App\Http\Controllers; use AppleSign\ASDecoder;
use Illuminate\Http\Request; class LoginController extends Controller{ public function jwtAppleLogin(Request $request) { $userId = $request->input('userId'); $identityToken = $request->input('identityToken'); $email = $request->input('email', ''); $fullName = $request->input('fullName', ''); $appleSignInPayload = ASDecoder::getAppleSignInPayload($identityToken); $isValid = $appleSignInPayload->verifyUser($userId); if ($isValid){ // 驗證通過后的邏輯 } } }