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){ // 验证通过后的逻辑     } } }

 

posted @ 2020-05-21 15:07  我是东山呀  阅读(1512)  评论(0编辑  收藏  举报