laravel passport api认证, 用短信验证码登录获取 token


laravel api 认证使用了 passport 的密码验证方式, 在做手机短信验证码登录时, 由于获取不到 明文密码,无法获取 token

用 laravel 个人访问令牌获取 token 时, 获取到的 token 有效期为一年, 且无法获取 refresh_token 

查看源码, 在laravel\passport\src\Bridge\UserRepository.php 的 getUserEntityByUserCredentials() 函数中会看到这段代码:

 

所以采用 在数据库里存的hash加密后的密码来验证, 即在 user model 中重写密码验证方法:  validateForPassportPasswordGrant

 

在controller中,  在需要登录的地方使用 Guzzle 发送请求 即可获取 token

 

获取token数据

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM