Laravel苹果授权登录(JWT验证模式)
APP集成苹果账号JWT验证授权登录,使用Laravel框架集成
官方文档:https://developer.apple.com/documentation/sign_in_with_apple
github: https://github.com/EcoIris/php-signin-apple
1.首先APP客户端集成苹果授权,授权后可以获取到以下信息(和QQ微信第三方登录授权类似):
- userID: 用户唯一标识,该值在同一个开发者账号下的所有 App 下是一样的,开发者可以用该唯一标识符与自己后台系统的账号体系绑定起来
- email: 邮箱,只有第一次授权返回邮箱信息,之后登录不再返回
- fullName: 用户名称,只有第一次授权返回用户信息,之后登录不再返回
- identityToken: 授权用户的JWT凭证
2.安装拓展包
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){ // 验证通过后的逻辑 } } }