Passport oauth / token哈希密码

时间:2017-03-15 12:48:50

标签: php laravel-5 hash oauth laravel-passport

我试图在laravel中的护照包中更改oauth / token调用的行为。 在我的测试中,我通过了这个:

POST /oauth/token HTTP/1.1
HOST: localhost:8080
content-type: application/x-www-form-urlencoded
cookie: laravel_session=eyJpdiI6Ikp...MDg4MzRjOTcifQ==
content-length: 41

grant_type=password&client_id=2&client_secret=dKhn6c8...tuECrPm1hjXN&username=test&password=123456&scope=*

并且它有效(我收到了200响应的令牌)。 但我相信正确的是HASH密码,一旦密码已经在服务器端HASHed,我们就不应该在请求中发送它。 我在这里遗漏了什么,或者我该怎么办才能发送HASH密码?

谢谢, 若昂

1 个答案:

答案 0 :(得分:0)

Laravel对您要散列的任何值都有以下函数:

bcrypt($value)

处理这种情况的好方法是在模型上创建一个生成所用密码的setter方法:

public function setPasswordAttribute($value){

    $this->attributes['password'] = bcrypt($value);
}