Laravel的Auth0扩展包是否提供快捷获取JWT token的方法?
Laravel Auth0扩展包获取JWT Token的内置方法说明
你不需要自行构造CURL请求,Laravel官方Auth0扩展包(auth0/login)原生提供了直接获取JWT Token的内置方法,直接调用Auth0\Login\Auth0Service实例的对应方法即可,所有配置会自动复用你已经填好的参数。
常用场景调用方式
场景1:用户完成OAuth授权流程后获取Token
用户完成Auth0重定向认证、回调到你的Laravel服务后,直接从Auth0服务实例中取即可:
// 从服务容器解析Auth0Service实例 $auth0 = app(\Auth0\Login\Auth0Service::class); // 获取JWT格式的ID Token(用于身份标识) $idToken = $auth0->getIdToken(); // 获取JWT格式的Access Token(用于请求资源接口) $accessToken = $auth0->getAccessToken();
如果需要验证Token有效性,可以直接调用decodeJwt()方法解析,不需要自己实现JWT校验逻辑:
$decodedToken = $auth0->decodeJwt($accessToken);
场景2:服务端获取Client Credentials模式的JWT Token
如果是机器对机器的内部接口调用,需要不需要用户参与的JWT Token,直接调用credentials()方法即可:
$tokenResult = $auth0->credentials( audience: '你的API受众标识', scope: '对应的权限范围' ); $jwtToken = $tokenResult['access_token'];
以上方法在
auth0/login7.x及以上版本均原生支持,不需要额外安装依赖。
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

