Laravel修改passport认证字段

首先如果用passport的情况下,一定是先请求oauth,发送username和password。然后进行用户认证。开箱自带的是验证email和password。
首先按思路应该先看看请求的是什么方法。如下


image.png

这个方法全局搜索一下,在Laravel\Passport\Http\Controllers中。
找到这个控制器,中的方法。如下


image.png

紧接着是将$request放到server中处理,继续找下去


image.png

接下来的处理在respondToAccessTokenRequest()这个方法中(相应访问令牌请求)


image.png

全局查找,因为咱们使用的是password模式,所以应该在passwordGrant.php中。


image.png

然后查看这个方法,咱们想修改认证字段,所以这个操作一定在validateUser方法中。(验证用户)


image.png

方法中先获取username和password,然后就是调用userRepository中的方法获得user,点击去看看。


image.png

第一个就是


image.png

这个方法就是通过用户凭证获得用户信息。

其中


image.png

这个方法就是判断guard api下的model中有没有findForPassport这个方法,如果有,则通过model中的方法返回用户。否则用默认的email返回。

要修改passport的认证字段,只需要在model中添加一个findForPassport方法即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容